softhelp.ru! | ПУТЕШЕСТВИЯ

Точность местонахождения на карте


Определение местоположения не является точной наукой. В зависимости от методики, применяемой вашим браузером, вы сможете узнать только область, город и квартал города, в котором находитесь. Однако, если гаджет будет более функционален, то вы сможете узнать собственное местоположение с точностью до 10 метров, дополнительно отобразятся показатели вашей скорости, вектора движения и высота.

Разработчики API-интерфейса Geolocation заключили с нами небольшой договор: каждый раз, когда они дают нам координаты своего местоположения, они также сообщают нам их точность метрами в пределах 95%-го уровня достоверности. Так, если бы мы нам сообщили наше местоположение с точностью до 500 метров, то мы могли бы быть достаточно уверены в его достоверности, если не выходить за пределы этих 500 метров. В таком случае можно, например, давать пользователям правильные рекомендации относительно города или его окрестностей, но не сообщать им подробный уличный маршрут проезда. В любом случае очевидно, что ваше приложение будет решать, как оно хочет использовать данные, касающиеся точности.

Вы уже знаете, что API-интерфейса Geolocation включает метод watchPosition. Данный метод делает то, что подразумевает его имя: он следит за вашим перемещением и докладывает о вашем местоположении по мере того, как оно изменяется. Метод watchPosition на самом деле очень схож с методом getcurrentPosition, поведёт себя немного по-другому: он повторно вызывает обработчик успешного
исполнения каждый раз, когда изменяется ваше местоположение. Давайте посмотрим, как он работает:


  1. Ваше приложение выполняет метод watchPosition, передавая ему функцию обработчика успешного выполнения.

  2. position.coords.latitude
    position.coords.longitude



  1. watchPosition как бы свёрнут в трее и всё время наблюдает за вашим местоположением.



  1. watchPosition будет и дальше следить за вашим местонахождением (заодно докладывать о нём обработчику успешного исполнения) до тех пор, пока вы не остановите отслеживание путём вызова clearWatch.



  1. При изменении вашего местоположения watchPosition вызывает функцию обработчика успешного исполнения для доклада ей о вашем новом местоположении.