Ich habe
ein Array von BenutzeradressenHolen Sie sich das lat, lng Basis auf Adresse
array:5 [▼
0 => array:2 [▼
"name" => " Admin"
"address" => "111 Park AveFloor 4 New York, NY"
]
1 => array:2 [▼
"name" => "User A"
"address" => "12 Main Street Cambridge, MA"
]
2 => array:2 [▼
"name" => "Apple HQ"
"address" => "1 Infinite Loop Cupertino, California"
]
3 => array:2 [▼
"name" => "Google MA"
"address" => "355 Main St Cambridge, MA"
]
4 => array:2 [▼
"name" => "site HQ"
"address" => "300 Concord Road Billerica, MA "
]
]
Mein Ziel
ist die lat
und lng
jeder Adresse zu packen, und konstruiere so etwas
[
["Admin", 18.3114513, -66.9219513, 0],
["User A", 25.3253982, 44.5503772, 1],
["Apple HQ", 33.0241101, 39.5865834, 2],
["Google MA", 43.9315743, 20.2366877, 3],
["site HQ", 32.683063, 35.27481, 4]
]
so kann ich sie in Google Map plotten.
Ich habe versucht:
machen eine Locke zu
https://maps.googleapis.com/maps/api/geocode/json?address='.$address.'&key=***
$data = shell_exec('curl '.$url);
Ich habe
dies als eine Antwort zurück, nachdem dekodieren es
$data = json_decode($data);
{#278 ▼
+"results": array:1 [▼
0 => {#298 ▼
+"address_components": array:2 [▶]
+"formatted_address": "PR-111, Puerto Rico"
+"geometry": {#300 ▼
+"bounds": {#301 ▶}
+"location": {#304 ▼
+"lat": 18.3114513
+"lng": -66.9219513
}
+"location_type": "GEOMETRIC_CENTER"
+"viewport": {#305 ▶}
}
+"place_id": "ChIJrdMXucS4AowRF4jHu2ji58U"
+"types": array:1 [▶]
}
]
+"status": "OK"
}
Wie Sie jetzt sehen, kann ich die lat zugreifen können, lng von
$location = $data->results[0]->geometry->location;
Zugriff Man könnte sagen, wenn Sie darauf zugreifen können - Warum fragst du immer noch diese Frage?
Nun, dass lat, lng Daten, die ich zurück von der API-Antwort bekomme produzieren falsche Google Map Marker.
Ich bin mir nicht sicher, warum/wie es falsch ist, aber ich bin sicher, dass alle meine Benutzeradressen in den USA sind, und hier ist meine Google Map Marker Ergebnis. Keiner von ihnen zeigt in den USA.
Google Map Ergebnis
Ich bin jetzt die Ideen ausgehen.
Alle Hinweise/Hilfen/Vorschläge werden mir viel bedeuten.
aktualisiert
Dank diesen answer
ich in der Lage sein, die lat zu bekommen, lng und korrekte Markierungen in meinem Google-Map jetzt zeichnen.
Sie sind für etwas allgemeine Adresse suchen. was würde passieren, wenn du "USA" auf das Ende von ihnen getaggt hast? –
Hmm guten Ruf, lass mich es versuchen. – ihue
Ungeachtet des tatsächlichen Problems * ist * eine wirklich gut strukturierte Frage (+1). – Jan