2016-07-31 2 views
0

Каков порядок методов, используемых для определения местоположения посетителя, используемого API-браузера геолокации?Порядок проверки API геолокации браузера

На информационном сайте Geolocation W3C говорится, что он использует комбинацию IP, Wi-Fi, сотового телефона и GPS, но он не говорит о том, что он использует для этого.

По моему мнению, он использует GPS (если есть), а затем один из трех других методов, но не ясно, что будет дальше.

Мне нужно это в проекте, где я должен определить местоположение пользователя, не используя его IP.

ответ

1

API не получает адрес пользователя; он запрашивает его из браузера (который, я считаю, получает его из ОС - но исправьте меня, если я ошибаюсь). Точный метод зависит от доступного оборудования, а необработанные данные недоступны через API. От this Страница разработчика Google:

API неагрессивный; его не волнует, как браузер определяет местоположение, если клиенты могут запрашивать и получать данные о местоположении в стандартным способом. Основной механизм может быть через GPS, Wi-Fi или , просто попросив пользователя ввести свое местоположение вручную.

0

Это зависит от вашей политики браузера, в отношении к Mozilla, например:

Если вы позволяете сайт, чтобы получить ваше местоположение с помощью этого сервиса, мы будем собирать, в зависимости от возможностей устройства , информацию о ближайших к вам маршрутизаторах wifi, клеточных ямах вышек сотовой связи , ближайших к вам, и о силе вашего Wi-Fi или сигнала сотовой связи. Мы используем эту информацию, чтобы вернуть предполагаемое местоположение в браузер Firefox , и браузер Firefox отправляет расчетное местоположение на запрашивающий веб-сайт . Для каждого запроса, отправленного на наш сервис, мы также получаем для получения IP-адреса, информации агента пользователя и уникального идентификатора вашего клиента. Мы используем эту информацию для различения запросов, а не для .

Google Location Service in Mozilla Firefox Privacy Policy

Базовое использование:

if ("geolocation" in navigator) { 
    navigator.geolocation.getCurrentPosition(function(position) { 
    do_something(position.coords.latitude, position.coords.longitude); 
}); 
} else { 
    /* geolocation IS NOT available */ 
} 
Смежные вопросы