mam
tablicę adresów użytkownikówGet LAT, LNG baza na adres
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 "
]
]
Moim celem
jest chwycić lat
i lng
każdego adresu i skonstruować coś takiego:
[
["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]
]
, więc mogę je nanieść na mapę Google.
Próbowałem:
dokonywania zawinięcie do
https://maps.googleapis.com/maps/api/geocode/json?address='.$address.'&key=***
$data = shell_exec('curl '.$url);
mam
to z powrotem jako odpowiedź po dekodować go
$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"
}
Jak widać, teraz mogę przejść LAT, LNG poprzez dostęp
$location = $data->results[0]->geometry->location;
Można powiedzieć, czy można uzyskać dostęp do niego - dlaczego wciąż zadajesz to pytanie?
Cóż, te lat, lng dane, które otrzymuję z odpowiedzi API, generują nieprawidłowy znacznik Google Map.
Nie mam pewności, dlaczego/jak jest źle, ale jestem pewna, że wszystkie moje adresy użytkowników są w USA, a tutaj jest mój wynik Google Map Marker. Żadne z nich nie pokazuje się w USA.
Google Map Wynik
biegnę z pomysłów teraz.
Wszelkie wskazówki/pomocne/sugestie będą dla mnie bardzo ważne.
Aktualizacja
Dzięki tej answer
będę mógł dostać szer LNG i wykreślić odpowiednie znaczniki na mojej mapie Google teraz.
szukasz nieco generycznego adres. co by się stało, gdybyś otagował "USA" na końcu? –
Hmm dobra rozmowa, pozwól mi spróbować. – ihue
Bez względu na faktyczny problem, * to * jest naprawdę dobrze skonstruowanym pytaniem (+1). – Jan