Seite 1 von 1

Standortkarte

Verfasst: 30.11.2006, 20:37
von workershop
Hallo

Kennt jemand eine Möglichkeit, auser Google Maps(mit der Api komme ich nicht klar) mit Hilfe von php generierten Adressen welche als Daten genommen werden eine Standortkarte zu der dazugehörigen Adresse anzuzeigen?

Ronny

Verfasst:
von

Verfasst: 30.11.2006, 23:35
von derpiet
Hi!

Ich komme mit Google mit diesem Skript ganz gut klar:

Code: Alles auswählen

<script src="http&#58;//maps.google.com/maps?file=api&v=2&key=<?php echo $gkey; ?>"
      type="text/javascript"></script>
   
     <script type="text/javascript">
    //<!&#91;CDATA&#91;
    var geocoder = null;
    function load&#40;&#41; &#123;
      if &#40;GBrowserIsCompatible&#40;&#41;&#41; &#123;
        var map = new GMap2&#40;document.getElementById&#40;"map"&#41;&#41;;
        map.setCenter&#40;new GLatLng&#40;<?php  
        $adresse_google = explode&#40;'<br>',$location&#91;'Adresse'&#93;&#41;;
       $fp = "http&#58;//maps.google.com/maps/geo?q=" . str_replace&#40;' ', '+',$adresse_google&#91;0&#93;&#41; . "," . str_replace&#40;' ', '+',$adresse_google&#91;1&#93;&#41; . "&output=csv&key=" . $gkey;
        $map_content = explode&#40;',',file_get_contents&#40;$fp&#41;&#41;;
        echo $map_content&#91;2&#93; . ',' . $map_content&#91;3&#93;;
?>&#41;, 15&#41;;
        map.addControl&#40;new GSmallZoomControl&#40;&#41;&#41;;
        //map.addControl&#40;new GMapTypeControl&#40;&#41;&#41;;
        map.addOverlay&#40;new GMarker&#40;new GLatLng&#40;<?php echo $map_content&#91;2&#93; . ',' . $map_content&#91;3&#93;; ?>&#41;&#41;&#41;;
        geocoder = new GClientGeocoder&#40;&#41;;
      &#125;
    &#125;
    //&#93;&#93;>
    </script>
$location['Adresse'] muß gesetzt sein, Beispiel: "Strasse 3<br>53773 Hennef".

$gkey ist der Google-Key.

Viell. hilfts Dir ja..

Verfasst: 01.12.2006, 08:09
von workershop
Zeig mir mal bitte das Beispiel mit eingetragener Adresse: Deutschland 04824 Beucha Residenz im Park

Verfasst:
von

Verfasst: 01.12.2006, 08:54
von derpiet
Ist das ironisch gemeint? Bring halt die Adresse vorher in das angegebene Format oder pass den explode() entsprechend an.

Die Lösung ist nicht perfekt, deswegen komme ich damit "ganz gut" und nicht "perfekt" zurecht.

Verfasst: 01.12.2006, 09:03
von workershop
derpiet hat geschrieben:Bring halt die Adresse vorher in das angegebene Format oder pass den explode() entsprechend an.
Wenn ich wüsste wie das geht, würde ich nicht fragen

Verfasst: 01.12.2006, 19:33
von workershop
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"https://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="https://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
<title>Google Maps JavaScript API Example</title>
<script src="https://maps.google.com/maps?file=api&v ... xxxxxxxxxx"
type="text/javascript"></script>
<script type="text/javascript">
//<![CDATA[
var geocoder = null;
function load() {
if (GBrowserIsCompatible()) {
var map = new GMap2(document.getElementById("map"));
map.setCenter(new GLatLng(<?php
$adresse_google = explode('<br>',$location['53773 Hennef']);
$fp = "https://maps.google.com/maps/geo?q=" . str_replace(' ', '+',$adresse_google[0]) . "," . str_replace(' ', '+',$adresse_google[1]) . "&output=csv&key=" . $gkey;
$map_content = explode(',',file_get_contents($fp));
echo $map_content[2] . ',' . $map_content[3];
?>), 15);
map.addControl(new GSmallZoomControl());
//map.addControl(new GMapTypeControl());
map.addOverlay(new GMarker(new GLatLng(<?php echo $map_content[2] . ',' . $map_content[3]; ?>)));
geocoder = new GClientGeocoder();
}
}
//]]>

</script>
</head>
<body onload="load()" onunload="GUnload()">
<div id="map" style="width: 500px; height: 300px"></div>
</body>
</html>



Da passiert gar nichts. (der Key war natürlich beim Test drin) :(