iPhone - родное приложение GeoLocation против веб-приложения GeoLocation - PullRequest
6 голосов
/ 21 января 2010

Вот моя ситуация; Я создал очень простое веб-приложение, которое ищет местоположение пользователя и отображает его на карте Google. Вот мой код: http://pastebin.com/d3a185efd

Когда я проверяю его, мое местоположение определяется как> = 500 метров от того места, где я на самом деле стою.

НО

Когда я открываю Google Maps или Gowalla, мое местоположение корректно с точностью до <20 метров? </p>

Таким образом, мой вопрос таков: получают ли родные приложения для iPhone более высокую точность, чем веб-приложения?

Если так, то почему?

Ответы [ 7 ]

3 голосов
/ 19 мая 2010

Согласно спецификации, геолокация веб-приложения должна использовать любой метод позиционирования, который лучше всего работает в любой ситуации, поэтому теоретически можно предположить, что он использует GPS, когда он доступен. Обсуждение, связанное в «лучшем ответе» от rohit, не кажется мне окончательным - вот еще одно, когда кто-то сообщает о подобной проблеме вашим и другим пользователям, заявляющим о получении точных данных GPS (прокрутите вниз до комментариев 26-28 сентября ):

http://www.thecssninja.com/javascript/geolocation-iphone

Но кажется, что геолокация все еще глючит. Я подозреваю, что ваша проблема в основном в том, что какая-то ошибка.

1 голос
/ 05 января 2012

Я думаю, что вы получаете разные результаты, так как вы упускаете из виду аспект времени. GPS использует много батареи и запускается только по команде.

HTML5 getCurrentPosition делает снимок координат, прежде чем GPS сможет точно «зонировать» вашу позицию. Приложение Google Maps, с другой стороны, запускается, а затем отслеживает вашу позицию, точность увеличивается со временем (вы все знаете, как движется маркер). HTML5 также поддерживает эту функцию отслеживания позиции.

Примечание! По моему опыту работы с iPhone, устройство на самом деле будет сохранять вашу позицию в течение некоторого времени, а это означает, что если я запущу Google Maps и оставлю его «в зоне» на моей позиции, закройте его, а затем запустите мое веб-приложение и используйте getCurrentPosition, которое я получаю. одинаково точное чтение.

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

1 голос
/ 28 января 2011

API геолокации допускает параметр высокой точности.
http://dev.w3.org/geo/api/spec-source.html#position_options_interface
(Но использует дополнительную батарею, поэтому, вероятно, лучше использовать редко)
Вы проверяли это?

Boolean: enableHighAccuracy

1 голос
/ 15 апреля 2010

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

http://phonegap.lighthouseapp.com/projects/20116/tickets/16-navigatorgeolocation-does-not-make-use-of-gps-data

0 голосов
/ 01 июня 2010

для Google Geo API сначала он пытается найти ваше местоположение по устройству GPS, в случае неудачи он проходит триангуляцию ячейки (виртуальный GPS), в случае неудачи он пытается использовать для Wi-Fi Mac и IP-адресов, последняя попытка заключается в использовании IP-адреса клиента чтобы узнать его местоположение

0 голосов
/ 21 января 2010

Код не показывает, откуда вы получаете позицию - используете ли вы объекты Навигатор и Геолокация?

http://developer.apple.com/iphone/library/documentation/AppleApplications/Reference/SafariWebContent/GettingGeographicalLocations/GettingGeographicalLocations.html

0 голосов
/ 21 января 2010

Я думаю, что веб-приложение опирается на сервис геоипов, который (делает все возможное, чтобы ...) преобразует ваш IP-адрес в координату GPS. пример: сервис пример

Однако такой способ получения координаты не может быть столь же точным, как «классический», который использует устройство GPS (такое как устройство, включенное в iphone 3G или 3Gs) для действительно восстановления вашего фактического местоположения и не приближать его в лучшем виде, как сервис Geoip.

ОБНОВЛЕНИЕ: GEOIP используется, например, при использовании карт Google на ноутбуке, но, возможно, ваш вопрос был: «Когда я использую объект позиции HTML 5 на своей веб-странице, он исходит от оборудования GPS или от службы геоип ?». Это я не мог сказать, я бы сказал, что он использует сервис Geoip вместо оборудования GPS, но я не уверен на 100% ...

...