25 Stimmen

Automatisches Abrufen von Breiten- und Längengraden mit php, API

In einer meiner PHP-Anwendungen muss ich die geografische Breite und Länge des Ortes aus der Adresse herausfinden.

Ich habe diesen Code ausprobiert:

$json = file_get_contents("http://maps.google.com/maps/api/geocode/json?address=$address&sensor=false&region=$region");
$json = json_decode($json);

$lat = $json->{'results'}[0]->{'geometry'}->{'location'}->{'lat'};
$long = $json->{'results'}[0]->{'geometry'}->{'location'}->{'lng'};

Es wird jedoch der folgende Fehler angezeigt:

Warning: file_get_contents(http://maps.google.com/maps/api/geocode/json?address=technopark, Trivandrun, kerala,India&sensor=false&region=IND) [function.file-get-contents]: failed to open stream: HTTP request failed! HTTP/1.0 400 Bad Request in D:\Projects\lon.php in Zeile 4

Bitte helfen Sie mir, dieses Problem zu lösen.

0voto

bromelio Punkte 1116

...und vergessen Sie nicht "$region", damit der Code funktioniert:

$address = "Salzburg";
$address = str_replace(" ", "+", $address);
$region = "Austria";

$json = file_get_contents("http://maps.google.com/maps/api/geocode/json?address=$address&sensor=false&region=$region");
$json = json_decode($json);

$lat = $json->{'results'}[0]->{'geometry'}->{'location'}->{'lat'};
$long = $json->{'results'}[0]->{'geometry'}->{'location'}->{'lng'};
echo $lat."</br>".$long;

0voto

Deepak Punkte 145

Ich denke allow_url_fopen auf Ihrem Apache-Server deaktiviert ist. Sie müssen es einschalten.

bitte ändern allow_url_fopen = 0 zu allow_url_fopen = 1

Vergessen Sie nicht, Ihren Apache-Server nach der Änderung neu zu starten.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X