Neues Modul "Google Maps"

YAY
Beiträge: 14
Registriert: Mi 28. Mär 2007, 22:46
Kontaktdaten:

Google Maps Modul

Beitrag von YAY » Fr 22. Jun 2007, 07:53

Hallo zusammen,

habe das gleiche Problem, das Module lief noch vor kurzem einwandfrei. Jetzt bekomme ich nur noch das rechteckige Feld mit dem google Logo und Nutzerbedingungen, sonst keine Karte mehr.

Hat da jemand schon eine Lösung gefunden?

Gruß YAY

Dalamar
Beiträge: 298
Registriert: Di 16. Nov 2004, 15:43
Wohnort: Arnstadt / Thüringen
Kontaktdaten:

Beitrag von Dalamar » Fr 22. Jun 2007, 08:04

Die Lösung ist das überarbeitete Modul von php0815... damit funzt es wunderbar.
Beruflich: eComradeGroup und Media Atoll
Privat: Fantasybuch.net ;)

ThomasH
Beiträge: 32
Registriert: Mo 20. Nov 2006, 21:53
Kontaktdaten:

Beitrag von ThomasH » Fr 22. Jun 2007, 10:16

Hallo Dalamar,

leider funzt es bei mir gar nicht. Ich habe die Version von php0815 aus diesem Thread gerade getestet. Nach dem Eingeben der Daten im BE erscheint nach dem Speichern:
Parse error: parse error, unexpected ';' in /homepages/../htdocs/contenido/includes/include.tplcfg_edit_form.php(423) : eval()'d code on line 141
Die Fehlermeldung steht direkt da wo sonst die Eingabefelder wären. Ist mir rätselhaft. Ich habe alles nochmal neu kopiert, aber keine Besserung. Ich hoffe nun auf Tipps von Euch.

Gruß
Thomas H

YAY
Beiträge: 14
Registriert: Mi 28. Mär 2007, 22:46
Kontaktdaten:

Google Map

Beitrag von YAY » Fr 22. Jun 2007, 23:14

Danke für den Tipp Dalamar,

ich habe das Module jetzt neu eingepflegt läuft alles einwandfrei, ich musste allerdings auch kleinigkeiten beseitigen damit es zum laufen kam, z.B. Mehrzeilig, hatt nichts angezeigt sobald man mehrere Zeilen bei den Text eingegeben hat, den Tipp hatte ich übrigenz von der 1 Seite mir geholt.

Danke für den Tipp.

Und ThomasH, probiere mal mit diesen Cood ich hatte dort ein paar Änderungen gemacht sieht man mit Rot gekennzeichnet:

Ausgabe Coode:
===========

<?php
/*
Google Maps Modul
1.Bitte eine Goolge-Maps-Key beantragen unter http://www.google.com/apis/maps/signup.html
auf http://www.active-value.de/geocoder/ Längen und Breitengrad suchen.

2.In den Head-Bereich der Seite muß folgendes eingetragen werden:
<script src="http://maps.google.com/maps?file=api&v= ... yeintragen" type="text/javascript"></script>

3. In den Body-Tag folgendes eintragen:
onload="load()" onunload="GUnload()"

4. In der Konfiguration des Artikels das Ziel eintragen.

5. auf http://www.active-value.de/geocoder/ Längen und Breitengrad suchen.


Autor: Tommo
Version: 1.0
*/
$z_marker = "CMS_VALUE[0]";
$ziel = "CMS_VALUE[1]";
$str = "CMS_VALUE[2]";
$hsn = "CMS_VALUE[3]";
$plz = "CMS_VALUE[4]";
$ort = "CMS_VALUE[5]";
$land = "CMS_VALUE[6]";
$koordinaten = "CMS_VALUE[7]";
$laenge = "CMS_VALUE[8]";
$breite = "CMS_VALUE[9]";
$width = "CMS_VALUE[10]";
$height = "CMS_VALUE[11]";
$maptyp = "CMS_VALUE[12]";
$mapcontrol = "CMS_VALUE[13]";
$zoomcontrol = "CMS_VALUE[14]";
$zoom = "CMS_VALUE[15]";

if($ziel =="checked"){
function get_lat_long($q) {
global $lat,$lon;
$q = urlencode($q);
$gm = fopen('http://maps.google.com/maps?q=' . str_replace('','+',$q) . '&output=js','r');
$tmp = @fread($gm,30000);
fclose($gm);
$pos=strpos($tmp,"center");
$wert=substr($tmp,$pos,40);
$lat=substr($wert,14,9);
$lon=substr($wert,29,9);
}
$q = $str.' '.$hsn.', '.$plz.' '.$ort.', '.$land;
$tmp = get_lat_long($q);
}
if($koordinaten =="checked"){
$lat=$laenge;
$lon=$breite;
}


if ($maptyp==2){
$anzeige = "G_HYBRID_MAP";
}elseif ($maptyp==1) {
$anzeige = "G_SATELLITE_MAP";
}else{
$anzeige = "G_NORMAL_MAP";
}


?>

// In JavaScript Ausgabe gab es Probleme mit einer (}) Klammer zu viel
// bei den Koordinaten.
<?php $lon_1 = ereg_replace("(\})", "", $lon);?>

<div id="map" style="width: <?php echo $width;?>px; height: <?php echo $height;?>px;"></div>
<script type="text/javascript">
//<![CDATA[
function load() {

if (GBrowserIsCompatible()) {

function createMarker(point,html) {
var marker = new GMarker(point);
GEvent.addListener(marker, "click", function() {
marker.openInfoWindowHtml(html);
});
return marker;
}

//Map erstellen und zentrieren, Anzeige der Funktionen
var map = new GMap2(document.getElementById("map"));
map.setCenter(new GLatLng(<?php echo $lat;?>, <?php echo $lon_1;?>), 14, <?php echo $anzeige;?>);
<?if ($mapcontrol == 2){echo "map.addControl(new GMapTypeControl());";}?>
<?if ($zoomcontrol == 2){echo "map.addControl(new GSmallMapControl());";}?>
<?if ($zoomcontrol == 3){echo "map.addControl(new GLargeMapControl());";}?>

//marker bei klick

function createMarker(point,html) {
var marker = new GMarker(point);
marker.html = html;
GEvent.addListener(marker, "click", function() {
marker.openInfoWindowHtml(marker.html);
});
return marker;
}
<?php
for ($i=1; $i<=$z_marker; $i++){
$x=$i+100;
$y=$i+200;
$z=$i+300;

$laenge = "CMS_VALUE[$x]";
$breite = "CMS_VALUE[$y]";
$text = "CMS_VALUE[$z]";
// für die Mehrzeilige Anzeige beim Infotext.
$infotext = ereg_replace("(\r\n|\n|\r)", "<br>", $text);
?>
var marker1 = createMarker(new GLatLng(<?php echo $laenge;?>, <?php echo $breite;?>),"<? echo $infotext;?>");
map.addOverlay(marker1);
<?php }?>
}
else {
alert("Sorry, the Google Maps API is not compatible with this browser");
}
}//endload
//]]>
</script>

Gruß YAY

booker
Beiträge: 18
Registriert: Mi 18. Apr 2007, 11:43
Kontaktdaten:

Beitrag von booker » Do 28. Jun 2007, 08:19

Habe das selbe Problem!!!

bekomme im BE folgende Fehlermeldung:
Parse error: syntax error, unexpected T_IS_EQUAL in /var/www/www.******.de/contenido/includes/include.tplcfg_edit_form.php(423) : eval()'d code on line 104

Wer kann mir da helfen?

Danke Booker

YAY
Beiträge: 14
Registriert: Mi 28. Mär 2007, 22:46
Kontaktdaten:

Map

Beitrag von YAY » Do 28. Jun 2007, 20:52

Hallo booker,

hast du diese Meldung erst nachdem du das Module eingerichtet hast bekommen oder schon davor? Lief vorher schon deine Version?

Gruß YAY

booker
Beiträge: 18
Registriert: Mi 18. Apr 2007, 11:43
Kontaktdaten:

Beitrag von booker » Fr 29. Jun 2007, 08:46

Hi,

Das Modul lief vorher, habs dann nach php0815 und dir ( ein und ausgabe) abgeändert.

Danach nichts mehr.

THX

Booker

Dalamar
Beiträge: 298
Registriert: Di 16. Nov 2004, 15:43
Wohnort: Arnstadt / Thüringen
Kontaktdaten:

Beitrag von Dalamar » Mo 2. Jul 2007, 13:22

Komisch... bei mir lief's auf Anhieb.
Beruflich: eComradeGroup und Media Atoll
Privat: Fantasybuch.net ;)

miertschink_st
Beiträge: 54
Registriert: Mi 19. Apr 2006, 19:00
Kontaktdaten:

Beitrag von miertschink_st » Mi 4. Jul 2007, 15:49

Hmm, hab ein ähnliches Problem wie booker.
Sobald ich in der Artikelkonfiguration etwas ändern möchte und das Speichern will, krieg ich folgende Fehlermeldung:

Parse error: syntax error, unexpected ';' in /www/*********/contenido/includes/include.tplcfg_edit_form.php(423) : eval()'d code on line 143

Das komische daran ist, das haargenau dasselbe Modul auf ner anderen Contenido Installation tadellos läuft.
Die auf der es läuft ist die 4.6.15 und die auf der es nicht funzt die 4.6.4
hab jetzt auf die schnelle nur mal probiert die include.tplcfg_edit_form.php einfach auszutauschen - hat aber nichts bewirkt.

miertschink_st
Beiträge: 54
Registriert: Mi 19. Apr 2006, 19:00
Kontaktdaten:

Beitrag von miertschink_st » Mi 4. Jul 2007, 16:41

Ok, hab zumindest bei mir den Fehler gefunden, der auch nichts mit der Version von Contenido zu tun hat.

Das Modul kommt einfach nicht damit klar, wenn das Feld der Markeranzahl leer bleibt. Einfach ne 0 reintippen dann klappts - oder halt das Modul umschreiben.

miertschink_st
Beiträge: 54
Registriert: Mi 19. Apr 2006, 19:00
Kontaktdaten:

Beitrag von miertschink_st » Mi 4. Jul 2007, 17:10

Hier noch die Werte, damit man auch Adressen nutzen kann und nicht per Hand die Koordinaten suchen muss:


Einfach diese Zeilen im Output:

Code: Alles auswählen

 $lat=substr($wert,14,9);
$lon=substr($wert,29,9); 
Gegen Diese austauschen:

Code: Alles auswählen

$lat=substr($wert,12,9);
 $lon=substr($wert,35,9);

Qli
Beiträge: 31
Registriert: Mi 3. Dez 2003, 22:17
Kontaktdaten:

Beitrag von Qli » So 8. Jul 2007, 16:35

Dalamar hat geschrieben:Ja, bei mir funktionieren Sie auch nicht mehr.
Mit dem ursprünglichen Modul von tommo funktioniert es mit folgender Änderung im Output wieder:

Orginal:

Code: Alles auswählen

function get_lat_long($q) { 
 global $lat,$lon; 
 $q = urlencode($q); 
 $gm = fopen('http://maps.google.com/maps?q=' . str_replace('','+',$q) . '&output=js','r'); 
 $tmp = @fread($gm,30000); 
 fclose($gm); 
 $pos=strpos($tmp,"center"); 
 $wert=substr($tmp,$pos,40); 
 $lat=substr($wert,14,9); 
 $lon=substr($wert,29,9); 
} 
ändern in:

Code: Alles auswählen

function get_lat_long($q) { 
 global $lat,$lon; 
 $q = urlencode($q); 
 $gm = fopen('http://maps.google.com/maps?q=' . str_replace('','+',$q) . '&output=js','r'); 
 $tmp = @fread($gm,30000); 
 fclose($gm); 
 $pos=strpos($tmp,"center"); 
 $wert=substr($tmp,$pos,70); 
 $lat=substr($wert,12,9); 
 $lon=substr($wert,35,9); 
} 

rene04
Beiträge: 600
Registriert: Mo 10. Okt 2005, 12:28
Wohnort: Kaiserslautern
Kontaktdaten:

Beitrag von rene04 » So 8. Jul 2007, 17:08

ähm, sorry. kann hir jemand bitte zusammenhängend in und output pasten?

gruesse rene

Qli
Beiträge: 31
Registriert: Mi 3. Dez 2003, 22:17
Kontaktdaten:

Google Maps

Beitrag von Qli » So 8. Jul 2007, 18:31

Klar, hier das Modul von tommo mit einigen Anpassungen von mir:

Google Maps Modul
1.Bitte beantragen Sie eine Goolge-Maps-Key unter http://www.google.com/apis/maps/signup.html

2.In den Head-Bereich der Seite muß folgendes eingetragen werden:
<script src="http://maps.google.com/maps?file=api&v= ... yeintragen" type="text/javascript"></script>

3. In den Body-Tag folgendes eintragen:
onload="load()" onunload="GUnload()"

4. In der Konfiguration des Artikels das Ziel eintragen.

Autor: Tommo
Version: 1.0

Input:

Code: Alles auswählen

echo"
 <table cellspacing=\"0\" cellpadding=\"5\" border=\"0\">
 <tr valign=\"top\"> 
  <td width=\"302\" colspan=\"2\"><strong>Ziel</strong></td> 
 </tr>
 <tr valign=\"top\"> 
  <td width=\"302\">Strasse</td> 
  <td><INPUT TYPE=\"text\" NAME=\"CMS_VAR[1]\" VALUE=\"CMS_VALUE[1]\"></td>
 </tr>
 <tr valign=\"top\"> 
  <td width=\"302\">Hausnummer</td> 
  <td><INPUT TYPE=\"text\" NAME=\"CMS_VAR[5]\" VALUE=\"CMS_VALUE[5]\"></td>
 </tr>
 <tr valign=\"top\"> 
  <td width=\"302\">Postleitzahl</td> 
  <td><INPUT TYPE=\"text\" NAME=\"CMS_VAR[2]\" VALUE=\"CMS_VALUE[2]\"></td>
 </tr>
 <tr valign=\"top\"> 
  <td width=\"302\">Ort</td> 
  <td><INPUT TYPE=\"text\" NAME=\"CMS_VAR[3]\" VALUE=\"CMS_VALUE[3]\"></td>
 </tr>
 <tr valign=\"top\"> 
  <td width=\"302\">Land</td> 
  <td><INPUT TYPE=\"text\" NAME=\"CMS_VAR[4]\" VALUE=\"CMS_VALUE[4]\"></td>
 </tr>
<tr>
<td colspan=\"2\"><hr style=\"width: 100%;\"></td>
</tr> 
<tr valign=\"top\"> 
  <td width=\"302\" colspan=\"2\"><strong>Konfiguration</strong></td> 
 </tr>
 <tr valign=\"top\"> 
  <td width=\"302\">Breite der Karte</td> 
  <td><INPUT TYPE=\"text\" NAME=\"CMS_VAR[6]\" VALUE=\"CMS_VALUE[6]\">px</td>
 </tr>
 <tr valign=\"top\"> 
  <td width=\"302\">Höhe der Karte</td> 
  <td><INPUT TYPE=\"text\" NAME=\"CMS_VAR[7]\" VALUE=\"CMS_VALUE[7]\">px</td>
 </tr>
 <tr valign=\"top\"> 
  <td width=\"302\">Kartenart</td> 
  <td>
<select name=\"CMS_VAR[8]\">
<option value=\"0\">Karte</option>";

    if (CMS_VALUE[8] == 1) {
        echo '<option value="1" selected="selected">Satellit</option>';
    } else {
        echo '<option value="1">Satellit</option>';
    }

    if (CMS_VALUE[8] == 2) {
        echo '<option value="2" selected="selected">Hybrid</option>';
    } else {
        echo '<option value="2">Hybrid</option>';
    }

echo "
</select>
</td>
 </tr>
<tr valign=\"top\"> 
  <td width=\"302\">Kartenauswahlfunktion anzeigen</td> 
  <td>
<select name=\"CMS_VAR[9]\">
";

    if (CMS_VALUE[9] == 1) {
        echo '<option value="1" selected="selected">Nein</option>';
    } else {
        echo '<option value="1">Nein</option>';
    }

    if (CMS_VALUE[9] == 2) {
        echo '<option value="2" selected="selected">Ja</option>';
    } else {
        echo '<option value="2">Ja</option>';
    }

echo "
</select>
</td>
 </tr>
<tr valign=\"top\"> 
  <td width=\"302\">Zoomfunktion anzeigen</td> 
  <td>
<select name=\"CMS_VAR[10]\">
";

    if (CMS_VALUE[10] == 1) {
        echo '<option value="1" selected="selected">Aus</option>';
    } else {
        echo '<option value="1">Aus</option>';
    }

    if (CMS_VALUE[10] == 2) {
        echo '<option value="2" selected="selected">Klein</option>';
    } else {
        echo '<option value="2">Klein</option>';
    }
    if (CMS_VALUE[10] == 3) {
        echo '<option value="3" selected="selected">Groß</option>';
    } else {
        echo '<option value="3">Groß</option>';
    }
echo "
</select>
</td>
 </tr>";


echo"
 <tr valign=\"top\"> 
  <td width=\"302\">Text im Infofenster</td>
<td><textarea NAME=\"CMS_VAR[15]\" cols=\"40\" rows=\"5\">CMS_VALUE[15]</textarea></td>
 </tr>";



 echo "</table>";
Output:

Code: Alles auswählen

<?php
$str = CMS_VALUE[1];
$plz = CMS_VALUE[2];
$ort = CMS_VALUE[3];
$land = CMS_VALUE[4];
$hsn = CMS_VALUE[5];
$width = CMS_VALUE[6];
$height = CMS_VALUE[7];
$maptyp = CMS_VALUE[8];
$mapcontrol = CMS_VALUE[9];
$zoomcontrol = CMS_VALUE[10];
$infotextfenster = "CMS_VALUE[15]";

function get_lat_long($q) { 
 global $lat,$lon; 
 $q = urlencode($q); 
 $gm = fopen('http://maps.google.com/maps?q=' . str_replace('','+',$q) . '&output=js','r'); 
 $tmp = @fread($gm,30000); 
 fclose($gm); 
 $pos=strpos($tmp,"center"); 
 $wert=substr($tmp,$pos,70); 
 $lat=substr($wert,12,9); 
 $lon=substr($wert,35,9); 
} 

$q = $str.' '.$hsn.', '.$plz.' '.$ort.', '.$land; 
$tmp = get_lat_long($q); 


if ($maptyp==2){
$anzeige = "G_HYBRID_MAP";
}elseif ($maptyp==1) {
$anzeige = "G_SATELLITE_MAP";
}else{
$anzeige = "G_NORMAL_MAP";
}


?>

<?php echo $wert; ?>

<?php $infotext = ereg_replace("(\r\n|\n|\r)", "<br>", $infotextfenster);?>

  <div id="map" style="width: <?php echo $width;?>px; height: <?php echo $height;?>px;"></div>
  <script type="text/javascript">
 //<![CDATA[
    function load() {
	
 if (GBrowserIsCompatible()) {
 
 function createMarker(point,html) {
        var marker = new GMarker(point);
        GEvent.addListener(marker, "click", function() {
          marker.openInfoWindowHtml(html);
        });
        return marker;
      }
 
//Map erstellen und zentrieren, Anzeige der Funktionen
var map = new GMap2(document.getElementById("map"));
map.setCenter(new GLatLng(<?php echo $lat;?>, <?php echo $lon;?>), 14, <?php echo $anzeige;?>);
<?if ($mapcontrol == 2){echo "map.addControl(new GMapTypeControl());";}?> 
<?if ($zoomcontrol == 2){echo "map.addControl(new GSmallMapControl());";}?> 
<?if ($zoomcontrol == 3){echo "map.addControl(new GLargeMapControl());";}?> 




	  

//marker bei klick 
function createMarker(point,html) { 
var marker = new GMarker(point); 
marker.html = html; 
GEvent.addListener(marker, "click", function() { 
marker.openInfoWindowHtml(marker.html); 
}); 
return marker; 
} 



var marker1 = createMarker(new GLatLng(<?php echo $lat;?>, <?php echo $lon;?>),"<? echo $infotext;?>"); 
map.addOverlay(marker1); 


}    else {
      alert("Sorry, the Google Maps API is not compatible with this browser");
    }
    }//endload
    //]]>

</script>

rene04
Beiträge: 600
Registriert: Mo 10. Okt 2005, 12:28
Wohnort: Kaiserslautern
Kontaktdaten:

Beitrag von rene04 » Mo 9. Jul 2007, 07:47

hmmm, da scheint was nicht zu stimmen. ich bekomme:

Parse error: parse error, unexpected T_STRING in /var/www/web3/html/cms/front_content.php(949) : eval()'d code on line 995

gruesse

Gesperrt