Изучаем HTML 5-Б. Лоусон, Р. Шарп - 2011 |
Страница 219 из 244 navigator.geolocation.getCurrentPosition(success, -i error, { enableHighAccuracy:true, timeout:2000, maximumAge:0 }) ; Параметр enableHighAccuracy заставляет устройство ПЫ-таться получить более точные значения широты и долготы. На мобильном устройстве это может быть необходимо для работы GPS, однако влечет за собой больший расход питания. Чаще всего в целях экономии заряда батареи используется значение параметра enableHighAccuracy, ПО умолчанию — false. Параметр timeout сообщает приложению геолокации, как долго следует ждать, прежде чем можно будет сдаться и вызвать обработчик ошибки (обратите внимание, что отсчет не ведется, если приложение ожидает разрешения пользователя на определение местоположение). Когда допустимое время проходит, устанавливается код ошибки 3 (timeout). Если значение параметра timeout равно нулю (это значение по умолчанию), то время ожидания не ограничивается. Наконец, с ПОМОЩЬЮ maximumAge МОЖНО разрешить ИЛИ Запре-тить браузеру использовать недавно кэшированные географические данные. Если в течение времени, указанного в параметре maximumAge (в миллисекундах), поступает новый запрос на определение местоположения, то возвращаются кэшированные данные, а не запрашиваются новые. Значение maximumAge также может быть равным infinity, при этом браузер всегда использует кэшированное местоположение. Если присвоить параметру нулевое значение (это значение по умолчанию), то приложение при каждом запросе заново определяет географическое положение пользователя. Для определения местоположения пользователя API геолокации использует несколько различных техник. Для обычных людей, включая меня, большая часть этого выглядит как черная магия, однако стоит все же иметь общее представление о том, что происходит в глубинах API, и как это влияет на точность данных. |