Получить широту / долготу / обратное геокодирование без отображения карт - PullRequest
3 голосов
/ 28 сентября 2011

Используя веб-сайт, я пытаюсь зафиксировать точку широты / долготы пользователя и на основании этого получить его текущий адрес.

Я могу сделать это с помощью Google Maps API: геолокация и обратное геокодирование. Но мое требование состоит в том, чтобы получить эту информацию без отображения карты. Насколько я прочитал, Условия использования Карт Google запрещают такие вещи.

Может кто-нибудь сообщить мне, есть ли какая-либо другая служба, которая может служить моим целям без отображения карт, или Google Maps допускает такую ​​вещь? Я не уверен насчет Bing, Yahoo.

РЕДАКТИРОВАТЬ: При загрузке страницы мне нужно получить широту и долготу пользователя и на основе этого получить информацию об адресе. Я планирую использовать эту информацию об адресе для отображения ближайших мест / мест для посещения. Я должен достичь этого без отображения карты.

Ответы [ 4 ]

2 голосов
/ 10 сентября 2012

Я не знаю, ошибаюсь ли я в этом сообщении, но если вы прочитаете это:

(viii) сохраните или разрешите конечным пользователям сохранять изображения карты, картографические данные или информацию о геокодированном местоположении из Yahoo!API Карт для любого будущего использования;

(ix) использует автономный геокодер для любого использования, кроме отображения Yahoo!Карты или отображение точек на Yahoo!Карты;

Это означает, что вы не можете хранить информацию или использовать ее без карт.Таким образом, API Google и API Yahoo должны иметь карту ...

примечание - я беру эти строки из условий Yahoo: http://info.yahoo.com/legal/us/yahoo/maps/mapsapi/mapsapi-2141.html

РЕДАКТИРОВАТЬ - Теперь я пытаюсьиспользовать http://www.geonames.org/export/reverse-geocoding.html Это легко и прекрасно работает для меня.Мне просто нужен город и, возможно, почтовый индекс.

2 голосов
/ 28 сентября 2011

Yahoo PlaceFinder делает это. Если вы укажете широту и долготу в параметре location и gflags=R, он должен вернуть адресные данные.

Вам нужно будет получить идентификатор приложения Yahoo, но его бесплатно и довольно легко настроить.

РЕДАКТИРОВАТЬ: я вижу, что вы хотите сделать геолокации тоже, если вы не можете использовать Google, я бы исследовал html5 геолокации и или использовать freegeoip.net для геолокации по IP-адресу.

0 голосов
/ 11 июня 2018

Существует несколько API геолокации - вот действительно хороший:

https://geoip.nekudo.com/

Вы просто отправляете запрос GET на

http://geoip.nekudo.com/api/{ip}/{language}/{type}

, где ip, язык и тип являются необязательными.

Например, в Angular 5, используя HttpClient:

this.http.get('http://geoip.nekudo.com/api/') .subscribe(
<br> data => { console.log('SUCCESS! Your coords are lat:', data.location.latitude, 'long:', data.location.longitude); }, error => { console.log('ERROR!', error); } );

ТакжеОбратите внимание, что сервис geoip написан на PHP и с открытым исходным кодом (https://github.com/nekudo/shiny_geoip), поэтому вы можете разместить свою собственную реализацию для уменьшения зависимостей сторонних разработчиков.

0 голосов
/ 28 сентября 2011

Я не думаю, что Yahoo требует, чтобы вы показывали карту, и она также имеет более высокую квоту.http://developer.yahoo.com/geo/placefinder/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...