stringtranslate.com

API геолокации W3C

API геолокации W3C — это попытка Консорциума Всемирной паутины (W3C) стандартизировать интерфейс для получения информации о географическом местоположении для клиентского устройства. [3] Он определяет набор объектов, соответствующих стандарту ECMAScript , которые при выполнении в клиентском приложении определяют местоположение клиентского устройства посредством консультации с серверами информации о местоположении , которые прозрачны для интерфейса прикладного программирования (API). Наиболее распространенными источниками информации о местоположении являются IP-адрес , MAC-адрес Wi-Fi и Bluetooth , радиочастотная идентификация (RFID), местоположение соединения Wi-Fi или система глобального позиционирования устройства (GPS) и идентификаторы сот GSM / CDMA . Местоположение возвращается с заданной точностью в зависимости от наилучшего доступного источника информации о местоположении.

Результат W3C Geolocation API обычно дает 4 свойства местоположения, включая широту и долготу (координаты), высоту (высоту) и точность [собранной позиции], которые зависят от источников местоположения. [ нужна цитата ]

Развертывание в веб-браузерах

Веб-страницы могут напрямую использовать API геолокации, если веб-браузер его реализует. Исторически сложилось так, что некоторые браузеры могли получить поддержку через плагин Google Gears , но его поддержка была прекращена в 2010 году, а серверный API, от которого он зависел, перестал отвечать на запросы в 2012 году. [4] [5]

API геолокации идеально подходит для веб-приложений для мобильных устройств, таких как смартфоны . На настольных компьютерах API геолокации W3C работает в Firefox начиная с версии 3.5, Google Chrome , [6] Opera 10.6, [7] Internet Explorer 9.0, [8] и Safari 5. На мобильных устройствах он работает на Android (прошивка 2.0+). ), iOS , Windows Phone и Maemo . API геолокации W3C также поддерживается Opera Mobile 10.1, доступной для устройств Android и Symbian (S60 поколений 3 и 5) с 24 ноября 2010 года. [9] Браузеры изначально разрешали доступ к API в незащищенных контекстах, но в контексте безопасного. Контексты, [10] браузеры, например Chrome, [11] теперь обычно требуют безопасного соединения.

Google Gears обеспечил поддержку геолокации для старых и несовместимых браузеров, включая Internet Explorer 7.0+ в качестве плагина Gears и Google Chrome, в котором Gears реализована изначально. Он также поддерживал геолокацию на мобильных устройствах в качестве плагина для браузера Android (до версии 2.0) и Opera Mobile для Windows Mobile . Однако API геолокации Google Gears несовместим с API геолокации W3C и больше не поддерживается.

Источники местоположения

API геолокации не предоставляет информацию о местоположении. Информация о местоположении получается устройством (например, смартфоном, ПК или модемом), которое затем передается через API для переноса в браузер. Обычно геолокация пытается определить положение устройства, используя один из этих нескольких методов.

GPS (система глобального позиционирования)
Это происходит с любым устройством, имеющим возможности GPS. Смартфон с возможностями GPS и режимом высокой точности, скорее всего, получит отсюда данные о местоположении. GPS рассчитывает информацию о местоположении по спутниковому сигналу. Имеет высочайшую точность; в большинстве Android-смартфонов точность может достигать 10 метров.
Местоположение мобильной сети
Отслеживание мобильного телефона используется, если мобильный телефон или беспроводной модем используется без встроенного чипа GPS.
Система позиционирования Wi-Fi
Если Wi-Fi используется в помещении, наиболее вероятным источником является система позиционирования Wi-Fi . Некоторые точки Wi-Fi имеют возможности служб определения местоположения.
Местоположение IP-адреса
Местоположение определяется на основе ближайшего общедоступного IP-адреса на устройстве (которым может быть компьютер, маршрутизатор, к которому оно подключено, или поставщик интернет-услуг (ISP), который использует маршрутизатор). Местоположение зависит от доступной информации об IP-адресе, но во многих случаях, когда IP-адрес скрыт за преобразованием сетевых адресов интернет-провайдера , точность достигается только на уровне города, региона или даже страны.

Выполнение

Хотя реализация не указана, API геолокации W3C построен на существующих технологиях и находится под сильным влиянием API геолокации Google Gears. Пример: реализация геолокации в Firefox [12] использует поставщика сетевых местоположений Google. [5] Google Gears Geolocation работает, отправляя набор параметров, которые могут подсказать, где находится физическое местоположение пользователя, на сервер поставщика сетевого местоположения, который по умолчанию предоставляется Google (code.l.google.com). ). [13] Некоторые параметры представляют собой списки обнаруженных вышек мобильной связи и сетей Wi-Fi, все с измеренной мощностью сигнала. Эти параметры инкапсулируются в сообщение нотации объектов JavaScript ( JSON ) и отправляются поставщику сетевых расположений через HTTP POST. На основе этих параметров поставщик сетевого местоположения может рассчитать местоположение. Обычно эта информация о местоположении используется для обеспечения контроля доступа, локализации и настройки контента, анализа трафика, контекстной рекламы и предотвращения кражи личных данных. [14]

Пример кода

Простой код JavaScript , который проверяет, реализован ли в браузере API геолокации, а затем использует его для получения текущего положения устройства. этот код создает функцию, которую можно вызвать в HTML, используя <body onload="geoFindMe()">:

const geoFindMe = () => { if ( navigator . geolocation ) { navigator . геолокация . getCurrentPosition ( успех , ошибка , geoOptions ); } Еще { консоль . log ( "Службы геолокации не поддерживаются вашим веб-браузером." ); } }                const успех = ( позиция ) => { const широта = позиция . координаты . широта ; константная долгота = позиция . координаты . долгота ; константная высота = позиция . координаты . высота ; константная точность = позиция . координаты . точность ; консоль . log ( `lat: ${ latitude } long: ${ longitude } ` ); }                      const error = ( ошибка ) => { console . log ( `Невозможно получить ваше местоположение из-за ${ error . code } : ${ error . message } ` ); }      const geoOptions = { enableHighAccuracy : true , MaximumAge : 30000 , тайм-аут : 27000 };         

Смотрите также

Рекомендации

  1. ^ «История публикации 2-го издания спецификации API геолокации - W3C» . нд . Проверено 21 апреля 2021 г.
  2. Попеску, Андрей (22 декабря 2008 г.). «Спецификация API геолокации». W3C . Рабочая группа по геолокации . Проверено 21 апреля 2021 г.
  3. ^ abcd Касерес, Маркос; Грант, Рейли (1 сентября 2022 г.). «Спецификация API геолокации». W3C . Рабочая группа по геолокации . Проверено 8 февраля 2024 г.
  4. ^ «API геолокации: API Gears: Код Google» . Гугл-код . 9 июля 2009 года. Архивировано из оригинала 14 февраля 2012 года . Проверено 21 апреля 2021 г.
  5. ^ ab «GeolocationAPI — gears — обеспечивает геолокацию устройства, на котором работает веб-браузер с поддержкой Gears. — Улучшение вашего веб-браузера — Хостинг проектов Google». Гугл-код . nd Архивировано из оригинала 22 декабря 2015 года . Проверено 21 апреля 2021 г.
  6. ^ «Новая стабильная версия Chrome: Добро пожаловать, Mac и Linux!». Блог Google Chrome . 25 мая 2010 года . Проверено 21 апреля 2021 г.
  7. Кляйнхаут, Хуиб (1 июля 2021 г.). «Опера 10.60 выходит в финал». Моя Опера . Программное обеспечение Опера . Архивировано из оригинала 9 ноября 2011 года . Проверено 21 апреля 2021 г.
  8. ^ ieblog (17 февраля 2011 г.). «API геолокации W3C в IE9 — IEBlog — Главная страница сайта — Блоги MSDN». IEBlog . Архивировано из оригинала 19 февраля 2011 года . Проверено 21 апреля 2021 г.
  9. ^ Opera.com (25 ноября 2010 г.). «Opera ускоряет просмотр страниц на Symbian». Архивировано из оригинала 4 ноября 2011 года . Проверено 21 апреля 2021 г.
  10. ^ «Безопасные контексты». W3.org . Проверено 13 октября 2022 г.
  11. ^ «Намерение удалить: использование геолокации небезопасным источником» . Группы.Google.com . Проверено 13 октября 2022 г.
  12. ^ «Сообщает ли Firefox мое местоположение веб-сайтам? | Поддержка Mozilla» . Мозилла Фаерфокс . Мозилла. нд . Проверено 21 апреля 2021 г.
  13. ^ «WebScanNotes.com: API геолокации W3C» . ВебСканНотес . nd Архивировано из оригинала 12 ноября 2012 года . Проверено 21 апреля 2021 г.
  14. Кинг, Кевин Ф. (8 июня 2010 г.). «Личная юрисдикция, интернет-торговля и конфиденциальность: широко распространенные правовые последствия современных технологий геолокации» (опубликовано 9 июня 2010 г.). ССНН  1622411 . Проверено 21 апреля 2021 г.

Внешние ссылки