2

Я заметил, что некоторые веб-сайты и некоторые приложения для iPhone могут обнаружить мое текущее географическое местоположение. Я имею в виду точную широту и долготу.Обнаружение моего географического положения

Как интегрировать эти функции в мое веб-приложение. есть ли бесплатная библиотека с открытым исходным кодом, которая может быть использована для выполнения этой задачи?

спасибо.

ответ

6

Приложения для собственных iPhone используют CoreLocation, что позволит использовать GPS, триангуляцию сотовой башни или базу данных Apple/Skyhook для точек доступа Wi-Fi для обнаружения местоположения пользователя. (Кстати, родные Mac-приложения на Mac OS X 10.6 и выше также имеют доступ к CoreLocation.)

Веб-сайты, которые используют W3C Geolocation API, также могут запросить ваше местоположение. На Mobile Safari это использует CoreLocation под капотом, но оно может быть реализованы разными браузерами по-разному. Как указывает Игорь, Firefox 3.5+ может отвечать на запросы Geolocation (они используют идентификаторы сети WiFi, которые они отправляют в Google).

API геолокации W3C по-прежнему находится в черновом формате, но Javascript очень прост в использовании. Прочитайте the samples on the spec page, или вы можете посмотреть на my test site (что также объясняет геолокацию IP - еще один метод, который не совсем точен).

3

Firefox 3.5 делает это из коробки:

http://en-gb.www.mozilla.com/en-GB/firefox/geolocation/

https://developer.mozilla.org/En/Using_geolocation

В действительности JavaScript API является одинаковым для Firefox 3.5 и Mobile Safari (iPhone/Itouch). Довольно круто, да !?

На самом деле я вполне уверен, что геолокация является частью спецификации HTML 5.

+1

FWIW, API геолокации W3C является неотъемлемой частью спецификации HTML5, просто случается, что он также разрабатывается в одно и то же время. – npdoty

+0

Это, конечно, правильно. Я перепутал их. –

1

Приложения для iPhone по большому счёту делают это с помощью API Apple, которые используют данные о местоположении мобильного телефона и GPS (если есть). Веб-сайты просто отображают диапазон IP-адресов для области/почтового индекса на основе некоторого whois и другой накопленной информации. Первый, очевидно, намного более точен, но ни один из них не является совершенным.

Если вы найдете бесплатный API, который позволит вам сделать это позже, мне было бы очень интересно, так как легко найти услуги, которые будут делать это за определенную плату, но я не знаю, кто это сделает (по крайней мере, возможно, не для коммерческого использования)