Google Maps API - PlaceID und Koordinaten abrufen?
Hallo allerseits,
ich bin im Moment dabei, ein neues Tool zu entwickeln und stecke nun bei dem Prozess fest, bei dem ich gerne eine Adresse per Google API und findplacefromtext in eine placeID und in die Koordinaten aufsplitten möchte.
Leider hapert es nun am json_decode und ich weiß nicht warum:
$user_location = "Deisterstrasse, Bad Münder am Deister, Deutschland";
$user_location_search_blank = str_replace(",", "", $user_location);
$new_user_location = $user_location_search_blank;
$daten = file_get_contents("https://maps.googleapis.com/maps/api/place/findplacefromtext/json?input=$new_user_location&inputtype=textquery&fields=formatted_address,name,geometry,place_id&key=000000000000000000000");
$map_location_data = json_decode($daten, true);
echo json_encode($map_location_data);
Kann mir jemand sagen, warum ich mit json_decode keine Daten erhalte, sondern lediglich null? Wenn ich die URL händisch eingebe, erhalte ich nämlich die gewünschten Daten.
3 Antworten
Zuerst einmal solltest du deine URL encoden, sodass die Leerzeichen maskiert werden. Danach solltest du dir das Ergebnis ausgeben lassen, welches in $daten gespeichert wird. Wenn dieses schon leer ist, hast du etwas nicht beachtet, bspw. eine Authentifizierung o.ä. (schau in der Dokumentation nach).
Diese Zeile / Variable würde ich übrigens einsparen:
$new_user_location = $user_location_search_blank;
Du kannst das API nutzen, wenn Du ein individuellen API Key. hast. Der Key ist bei dir ja 0000000 oder ist das hier anonymisiert worden?
Vielleicht musst du den Request authentifizieren oder Header mitschicken?
Schau in der Doku nach.. Was für eine Antwort bekommst du zurüxk?
ah ne sorry du musst urlencode($new_user_location) verwenden sonst kann er es nicht abrufen, darum geht es auch im browser weil der automatisch Url encodet
Mit dem urlencoder erhalte ich nur den gesamten Link Strang als Ausgabe. :/
Das ist auch richtig so. Um die Fields die du abfragst musst du auch ein urlencode machen da dort ein Komma vorkommt etc.
Hmm... oke. Hast du einen Tipp, wie das gehen könnte?