Google Maps API - получить координаты адреса


150

Я хотел бы конвертировать адреса в long / lat.

Есть ли способ сделать это без использования JavaScript? Потому что в моем случае не нужно ничего отображать, поскольку преобразование происходит в фоновом режиме.

Ответы:


273

То, что вы ищете, называется геокодирование .

Google предоставляет веб-сервис геокодирования, который должен делать то, что вы ищете. Вы сможете выполнять геокодирование на своем сервере.

Пример JSON:

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

Пример XML:

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


Редактировать:

Обратите внимание, что теперь это устаревший метод, и вы должны предоставить свой собственный ключ API Google для доступа к этим данным.


@ n00b: я изначально неправильно прочитал твой вопрос. Вы ищете геокодирование, а не обратное геокодирование. Тем не менее вы можете сделать это с помощью API веб-служб Google.
Даниэль Вассалло

1
Ссылка говорит, что sensorпараметр больше не требуется.
osa

Хорошо, его работа, но теперь я хочу найти адрес только для страны США, но это даст мне возможность поиска по всему миру.
Можете ли

@PareshHirpara Разве вам не нужно вставлять United+Statesвнутри параметра адреса? ;-)
Please_Dont_Bully_Me_SO_Lords

11

Несмотря на то, что вы запросили API Карт Google, я предлагаю открытый, рабочий, юридический, бесплатный и краудсорсинг API от Open Street Maps.

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

Вот документация API для справки.

Изменить: похоже, что иногда возникают расхождения, по крайней мере, с точки зрения почтовых индексов, по сравнению с API Карт Google, и последний представляется более точным. Это имело место при проверке адресов в Канаде с помощью службы поиска Почты Канады, однако это может быть верно и для других стран.


Прежде всего - спасибо, что предложили этот вариант тоже. :) В моем случае я искал почтовый индекс адреса на основе номера улицы, названия улицы, города и провинции (в Канаде). Однако оказывается, что существует несоответствие между API Карт Google и API Open Street Maps. Например, для адреса 20 Торонто-стрит, Торонто, ON, они вернули разные почтовые индексы, и тот, который был возвращен API Карт Google, совпадает с тем, который возвращает поиск на веб-сайте Canada Post. Я также проверил это с двумя другими адресами, и снова были расхождения.
Николай Д

@NikolayD Похоже, что есть ошибки в данных из толпы. Тогда зайдите с Google Maps! Предложите свои входные данные как редактирование к моему ответу, пожалуйста
Zameer

1
@Dantalian Что такое определение номера адреса?
Zameer

К сожалению, я имел в виду номер улица
Dantalian


Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.