API геокодирования Google (City => long, lat)
Предлагает ли Google API RESTful, где я могу передать ему название города (или почтовый индекс), и он возвращает долготу и широту.
Я знаю, как это сделать с помощью API Карт Google, , но. Я действительно не хочу, чтобы мои пользователи загружали огромный 200k API Google Maps исключительно для того, чтобы я мог геокодировать местоположение.
Кто-нибудь знает URL-адрес (REST) city/zip для долготы и широты API?
Так как геокодирование этой информации запускает несколько других процессов, выполнение этого первого шага имеет решающее значение для того, чтобы быстро выполнить b/c его узкое место, используя API-интерфейс API Карт Google для огромной загрузки и загрузки JavaScript.
Ответы
Ответ 1
Yahoo PlaceFinder - это новая услуга, предлагаемая Yahoo! который предоставляет услуги для преобразования адресов (включая названия городов) в пары широты/долготы. Служба также способна выполнять обратное (преобразование координат в адрес).
В отличие от Google API геокодирования TOS для Yahoo PlaceFinder не запрещает использование данных вне их API карт.
Ответ 2
Вы можете использовать веб-сервисы geonames.org(или загрузить сервер)
http://www.geonames.org/export/reverse-geocoding.html
Ответ 3
Также имейте в виду, что вы, скорее всего, будете выполнять свои квоты на день, если у вас есть интенсивный трафик, используя метод прямого HTTP-вызова. Google ограничивает использование на основе IP-адреса, поэтому использование кода на стороне клиента значительно увеличит количество поисков геокода, которые вы можете выполнять в день, поскольку они будут связаны с пользовательскими компьютерами, а не с серверами.
Ответ 4
$.get("http://ipinfo.io", function(response) {
console.log(response.city, response.country);
}, "jsonp");
Здесь представлен более подробный пример JSFiddle, который также выводит полную информацию об ответах, поэтому вы можете увидеть все доступные детали: http://jsfiddle.net/zK5FN/2/