Seite 4 von 6

Google Maps Modul

Verfasst: Fr 22. Jun 2007, 07:53
von YAY
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

Verfasst: Fr 22. Jun 2007, 08:04
von Dalamar
Die Lösung ist das überarbeitete Modul von php0815... damit funzt es wunderbar.

Verfasst: Fr 22. Jun 2007, 10:16
von ThomasH
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

Google Map

Verfasst: Fr 22. Jun 2007, 23:14
von YAY
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

Verfasst: Do 28. Jun 2007, 08:19
von booker
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

Map

Verfasst: Do 28. Jun 2007, 20:52
von YAY
Hallo booker,

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

Gruß YAY

Verfasst: Fr 29. Jun 2007, 08:46
von booker
Hi,

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

Danach nichts mehr.

THX

Booker

Verfasst: Mo 2. Jul 2007, 13:22
von Dalamar
Komisch... bei mir lief's auf Anhieb.

Verfasst: Mi 4. Jul 2007, 15:49
von miertschink_st
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.

Verfasst: Mi 4. Jul 2007, 16:41
von miertschink_st
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.

Verfasst: Mi 4. Jul 2007, 17:10
von miertschink_st
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);

Verfasst: So 8. Jul 2007, 16:35
von Qli
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); 
} 

Verfasst: So 8. Jul 2007, 17:08
von rene04
ähm, sorry. kann hir jemand bitte zusammenhängend in und output pasten?

gruesse rene

Google Maps

Verfasst: So 8. Jul 2007, 18:31
von Qli
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>

Verfasst: Mo 9. Jul 2007, 07:47
von rene04
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