О геолокации в HTML 5

Google Maps может теперь точно определить мое местоположение с уличной точностью с помощью Firefox.

Я понимаю, что это - новая возможность совместимых браузеров HTML 5 и что местоположение выбирается при помощи своего рода функции связанной сети WiFi (я надеюсь, что не делаю глупых предположений).

То, что я намереваюсь знать, - то, как этот целый процесс точно работает:

  • Почему только в HTML 5?
  • Почему / как Firefox просит, чтобы я совместно использовал свое местоположение с Google Maps?
  • Какова нормальная точность, на которую можно рассчитывать?
  • Как я могу реализовать эту опцию в своих веб-сайтах?

Заранее спасибо!

28
задан mjv 12 February 2010 в 01:32
поделиться

2 ответа

Как это работает?

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

Если вы соглашаетесь, Firefox собирает информацию о близлежащих точках беспроводного доступа и IP-адрес вашего компьютера, и получает оценку вашего местоположения, отправляя эту информацию в Google Location Services (служба геолокации по умолчанию в Firefox). Затем эта оценка местоположения передается запрашивающему веб-сайту. (Источник)

Насколько точны местоположения?

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

В моем случае Firefox сообщает, что я нахожусь примерно в 10 км от своего реального местоположения.

Как мне использовать эту функцию на моем сайте?

Вы сделаете примерно следующее:

if (navigator.geolocation) { 
    navigator.geolocation.getCurrentPosition(function(position) {  

        alert(position.coords.latitude + ", " + position.coords.longitude);

        // Use the latitude and location as you wish. You may set a marker
        // on Google Maps, for example.
    }); 
} 
else {
    alert("Geolocation services are not supported by your browser.");
}  

Вы можете посмотреть онлайн демо здесь: Firefox HTML 5 Geolocation Demo (Требуется браузер с поддержкой геолокации, например Firefox 3.1b3.)

.
35
ответ дан 28 November 2019 в 03:17
поделиться

HTML5 предоставляет API

, который позволяет веб-браузеру (и, следовательно, серверной стороне веб-приложения) запрашивать местоположение и связанную информацию, такую ​​как скорость (если применимо), в стандарте, униформа, мода.

Хост и его веб-браузер предоставляют «устройства», которые вычисляют / оценивают геолокацию как таковую

Для того, чтобы этот API был полезным, требуется, чтобы базовый хост и веб-браузер
a ) разрешить совместное использование такой информации (обратите внимание на проблему конфиденциальности) и
б) быть в некоторой степени оборудованным (локально или через сеть, к которой они подключены) для чтения или оценки геолокации.

Методы и устройства, используемые для вычисления фактического местоположения, включают комбинацию следующего (не все, конечно, применимы) и не зависят от стандарта HTML 5 :

  • Устройство GPS (множество теперь они есть в телефонах)
  • Информация о маршрутизации на уровне сети сотового телефона
  • IP-адрес / информация о маршрутизации интернет-провайдера
  • Информация о Wi-Fi-маршрутизаторе
  • Фиксированные данные, ввод вручную (для компьютеров, находящихся в фиксированном местоположении )
  • ...

Следовательно ...
- HTML5 сам по себе не может определить геолокацию: само по себе обновление до более новой версии веб-браузера не будет достаточным для получения функций геолокации. в ваших приложениях и т. д.
- данные геолокации могут использоваться вне HTML5 API, что позволяет телефонам с поддержкой GPS или GeoLocation предоставлять данные геолокации в других API.

14
ответ дан 28 November 2019 в 03:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: