Google Maps Einsatz im Community Script

Hannibal

Erfahrenes Mitglied
Hallo ich bin in der Ausgabe 4.2007 im PHP Magazin auf einen Interessanten Artikel über Google Maps gestossen.

Dort ist auch ein Bespiel Script wie sich das ganze sehr einfach einbinden lasse.

Hier das Beispiel Script:
PHP:
$key = "Google_map_key";

$searchFor = "4500 Solothurn, CH";

$url = "http://maps.google.com/maps/geo?q="+searchFor+"&output=xml&key=$key";

$page = file_get_contents($url);

// Parsen des gelieferten XML-Files
$xml=newSimpleXMLElement($page);

// Ausgabe der Koordinaten
echo $xml->Response->Placemark->Point->coordinates;

Ich erhalte leider immer diesen Fehler beim ausführen des Scripts.
Warning: file_get_contents() [function.file-get-contents]: failed to open stream: No such file or directory in /var/www/virtual/domain.net/htdocs/map.php on line 11

Mit der Suche bin ich auch auf diesen Thread gestossen, wo wohl auch noch keine Lösung gefunden wurde:
http://www.tutorials.de/forum/php/265835-http-request-einen-webservice.html

Hat jemand so ein Script im Einsatz? Wie würdet ihr das ganze lösen?

Freundliche Grüsse
 
Ist bei deinem Webspace die Variable url_allow_fopen auf on gesetzt?

Ja ist es.

Ich betreibe das ganze auf meinem eigenen Root Server. Entschuldigung das hätte ich erwähnen sollen.

Jedenfalls habe ich das gleich nach den ersten google Resultaten auf ON geschaltet doch an der Fehlerausgabe hat das leider nichts geändert.

Was könnte da noch falsch laufen?
 
Müsste es nicht eigentlich so sein?

PHP:
<?
$key = "ABQIAAAA-hE6C9baL2Wea6Gzdfdn8BQnTPZjkmapnTEkupB1AXq-aatS0xSNe8-yiSTu1Bqz1Hsa5zuvQ-TfGg";

// Du solltest am besten deinen eigenen Google Key benutzen, weil diesen habe ich irgendwo im Internet gefunden.

$searchFor = "4500 Solothurn, CH"; 
$searchFor = str_replace(" ", "%20", $searchFor);
$url = "http://maps.google.com/maps/geo?q=$searchFor&output=xml&key=$key";

$page = file_get_contents($url);
// Parsen des gelieferten XML-Files
$xml=new SimpleXMLElement($page);

// Ausgabe der Koordinaten
echo $xml->Response->Placemark->Point->coordinates;  
?>
 
Zuletzt bearbeitet:
Was denkt ihr, ist es eine gute Möglichkeit folgenden Script anzupassen und die Adresse einfach im Form als Hidden zu übergeben?

HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
    <title>Google Maps API Example - Geocoding API</title>
    <script src="http://maps.google.com/maps?file=api&amp;v=2.x&amp;key=google key" type="text/javascript"></script>
    <script type="text/javascript">
    //<![CDATA[

    var map = null;
    var geocoder = null;

    function load() {
      if (GBrowserIsCompatible()) {
        map = new GMap2(document.getElementById("map"));
        map.setCenter(new GLatLng(37.4419, -122.1419), 13);
        geocoder = new GClientGeocoder();
      }
    }

    function showAddress(address) {
      if (geocoder) {
        geocoder.getLatLng(
          address,
          function(point) {
            if (!point) {
              alert(address + " not found");
            } else {
              map.setCenter(point, 13);
              var marker = new GMarker(point);
              map.addOverlay(marker);
              marker.openInfoWindowHtml(address);
            }
          }
        );
      }
    }
    //]]>
    </script>
  </head>

  <body onload="load()" onunload="GUnload()">
    <form action="#" onsubmit="showAddress(this.address.value); return false">
      <p>
        <input type="text" size="60" name="address" value="1600 Amphitheatre Pky, Mountain View, CA" />
        <input type="submit" value="Go!" />
      </p>
      <div id="map" style="width: 500px; height: 300px"></div>
    </form>

  </body>
</html>
 
Aber gibt man dabei nicht die Adresse ein, wovon die Koordinaten gesucht werden sollen?

Ja genau.

Gut ich hab noch ein wenig ein Problem mit dem zuerst Map Fixieren auf. Wie ich diesen Wert setzen kann hab ich nicht rausgefunden. Also ich hatte die genauen Geo Kordinaten zb. von Switzerland Bern. Doch diese nimmt es mir nicht an.

Und dann bei der Adresseübergabe würde ich z.B. aus der Datebank holen

Switzerland Bern Strasse. 2

Und dass dann auf einem Member Profil so anzeigen.
 

Neue Beiträge

Zurück