Я использую Geolocation API (часто называемый «HTML5 Geolocation»), чтобы получить текущую позицию пользователя.Он обновляется автоматически, если вы двигаетесь (проверяется каждую секунду).В первую очередь предназначен (и в настоящее время тестируется) на iPhone, но должен работать и на других мобильных устройствах.Вы можете увидеть пример здесь:
http://jsbin.com/uyoyey/
Точность, которую вы можете видеть в каждой строке после трубы, составляет около 3000 (метров), когда я тестирую (снаружи),Что довольно плохо, очевидно.Нативное приложение Maps на моем iPhone намного точнее.Приблизительно от 10 до 30 метров (при взгляде на карту и на то, где я стою. Проверка значений long и lat в другом приложении также дает более точные цифры.
Когда я сейчас переключаюсь назад на Safari, точность скачков точностиот 10 до 30, но через секунду возвращается к 3000.
Вопросы:
- Можете ли вы повторить это поведение?
- ПочемуВо-первых, это местоположение?
- Есть ли разница между доступом к GPS-данным через Geolocation и CLLocationManager (который, я думаю, используется нативными приложениями)?
Спасибо!
Обновление 1:
Я получаю более точные результаты при тестировании в других местах (более крупный город), но теперь мне интересно, используют ли собственные приложения также отслеживание движения для обновленияЭто объясняет, почему приложение «Карты» может отслеживать мои шаги, в то время как Safari не распознает их.
Обновление 2 (03.08.11):
В разговоре по электронной почте с Петр-Поль Кох он написал, что Safari в основном использует Wi-Fi для геолокации, чтобы сохранить время автономной работы.Это может объяснить различия.
Я все еще не совсем уверен, что происходит.