Google Maps API - uzyskaj współrzędne adresu

150

Chciałbym zamienić adresy na długie / szer.

Czy można to zrobić bez używania JavaScript? Ponieważ w moim przypadku nie ma potrzeby niczego wyświetlać , ponieważ konwersja jest w tle.

n00b
źródło

Odpowiedzi:

273

To, czego szukasz, nazywa się geokodowaniem .

Google zapewnia usługę sieciową geokodowania, która powinna zrobić to, czego szukasz. Będziesz mógł geokodować na swoim serwerze.

Przykład JSON:

http://maps.google.com/maps/api/geocode/json?address=1600+Amphitheatre+Parkway,+Mountain+View,+CA

Przykład XML:

http://maps.google.com/maps/api/geocode/xml?address=1600+Amphitheatre+Parkway,+Mountain+View,+CA


Edytować:

Pamiętaj, że jest to obecnie przestarzała metoda i musisz podać własny klucz interfejsu API Google, aby uzyskać dostęp do tych danych.

Daniel Vassallo
źródło
@ n00b: Początkowo źle przeczytałem twoje pytanie. Szukasz geokodowania, a nie odwrotnego geokodowania. Niemniej jednak nadal możesz to zrobić za pomocą interfejsu API usług internetowych Google.
Daniel Vassallo,
1
Link mówi, że sensorparametr nie jest już wymagany.
osa
ok, to działa, ale teraz chcę wyszukać adres tylko dla kraju w USA, ale daje mi to na całym świecie zwrot danych wyszukiwania, czy możesz mi podać rozwiązanie dla konkretnego kraju
Paresh Hirpara
@PareshHirpara Czy nie powinieneś wstawiać United+Stateswewnątrz parametru adresu? ;-)
Please_Dont_Bully_Me_SO_Lords
11

Chociaż prosiłeś o interfejs API Map Google, proponuję otwarte, działające, legalne, bezpłatne i oparte na crowdsourcingu API firmy Open Street Maps

https://nominatim.openstreetmap.org/search?q=Mumbai&format=json

Oto dokumentacja API w celach informacyjnych.

Edycja: Wygląda na to, że czasami występują rozbieżności, przynajmniej pod względem kodów pocztowych, w porównaniu z interfejsem API Map Google, a ten drugi wydaje się być dokładniejszy. Tak było w przypadku sprawdzania poprawności adresów w Kanadzie za pomocą usługi wyszukiwania Canada Post, jednak może to dotyczyć także innych krajów.

Zameer
źródło
Po pierwsze - dziękuję również za zasugerowanie tej opcji. :) W moim przypadku szukałem kodu pocztowego adresu na podstawie numeru ulicy, nazwy ulicy, miasta i prowincji (w Kanadzie). Okazuje się jednak, że istnieje rozbieżność w tym, co zwróciło API Google Maps i Open Street Maps API. Na przykład dla adresu 20 Toronto Street, Toronto, ON, zwrócili różne kody pocztowe, a ten zwrócony przez Google Maps API jest taki sam, jak ten, który zwraca wyszukiwanie w witrynie Canada Post. Przetestowałem to również z dwoma innymi adresami i znowu wystąpiły rozbieżności.
Nikolay D
@NikolayD Wygląda na to, że w danych zebranych przez tłum są błędy. Idź więc z Google Maps! Zaproponuj swoje dane wejściowe jako edycję mojej odpowiedzi
Zameer,
1
@Dantalian Jaka jest definicja numeru adresu?
Zameer
Przepraszam, miałem na myśli numer ulicy
Dantalian