2016-03-29 5 views
-1

Я использовал(0) (не требуется авторизация пользователя) или эквивалент, чтобы получить информацию о местоположении пользователя, которая используется для получения информации о погоде от openWeatherMap. Проблема заключается в том, что локализация с использованием ip-адреса может быть неточной, учитывая, что она зависит от точки доступа к интернет-сайту (ISP, ...). Например, учитывая Камерун как страну, если моя интернет-связь предоставляется сервером, расположенным в Yaoundé, и я находится в Dschang; common ip localization API, как ipinfo один, даст мне Yaoundé как мой город. То есть, мы получим эквивалентный результат, если сервер находится в другой стране.javaScript/API - Как получить точное местоположение пользователя?

В том же порядке, HTML5-Георасположение API (нужно Autorization пользователя) это, кажется, быть отличным способом, учитывая тот факт, что она может быть более точным (иногда с точностью 100м). Однако эта точность зависит от использования параметров аргументов API-функции и конфигурации браузера; эта статья от html5doctor.com дает некоторое освещение об этом. Моя проблема в том, что я тоже не ожидаю результата; учитывая предыдущий пример, я получаю Douala (местонахождение ISP) вместо Dschang.

Итак, как получить более точный результат с помощью этих методов или есть ли другой способ получить точное местоположение пользователя?

+5

Это был дан ответ здесь [http://stackoverflow.com/questions/2577305/how-to-get-gps-location -from-the-web-browser] (http://stackoverflow.com/questions/2577305/how-to-get-gps-location-from-the-web-browser) –

+0

Я также знаю метод HTML5-геолокализации, но он также кажется не точным (я не получаю ожидаемого результата с ним), однако он кажется более точным, чем метод локализации IP-адреса. являются ли эти два метода единственными доступными методами? (может быть, как я их использую, но я не думаю). – tnga

+0

Нет волшебства. На сайте openWeatherMap есть поле ввода для ввода имени вашего города. Затем он сохраняет информацию в файле cookie под названием «cityid». В следующий раз, когда вы заходите на свой сайт, он автоматически отображает информацию для этого города. – Roberto

ответ

1

Использование адреса для целей геолокации не очень точно. Причина в том, что службы геолокации IP основаны на сборе данных, что означает, что ваш ip зарегистрирован в dabatase, который регистрирует местоположение. Обычно местоположение - это место ISP, а не реальное местоположение.

Есть некоторые услуги геолокации ip (многие из них - коммерческие услуги), которые могут предложить очень точное местоположение. Некоторые из этих услуг могут достичь хорошей точности, поскольку они платят поставщикам рекламы за информацию о местоположении GPS. Например, когда вы используете свой мобильный мобильный телефон с включенными службами определения местоположения (GPS), и вы посещаете любой сайт с помощью объявлений, объявления могут получить ваше местоположение GPS и отправить его в службу геолокации IP, которая будет платить поставщику рекламы для сбора оказание услуг. Когда служба геолокации IP обнаруживает, что многие пользователи с очень близкими координатами подключены к сети с одним и тем же IP-адресом, они могут заключить реальное местоположение IP, однако это тоже не идеально, потому что этот пользователь может быть подключен к динамическому IP-адресу или нет сигнала GPS (в помещении).

Моя рекомендация - попытаться объединить Javascript Geolocation API с услугой геолокации IP.

Вы можете найти информацию о том, как использовать API геолокации в: http://html5doctor.com/finding-your-position-with-geolocation/

+0

эффективно, я использую, чтобы объединить Javascript Geolocation API с IP-геолокационной службой/API. Я просто пытаюсь найти, если есть лучший и оптимальный способ. – tnga

Смежные вопросы