JavaScript fwdays conf: Node.js, Performance, Tests, Nuxt.js, DevTools, GraphQL | March 14
×Закрыть

Сервис для определения местоположения пользователя

Недавно команда моих разработчиков столкнулась с следующей задачей. В поиске учитывается местоположение пользователя. Заюзали ipinfo.io для детекта по IP. Сам заказчик родом с германии и при тестировании система постоянного говорила что он в Берлине, несмотря на то, что он был в городе за 300 км от Берлина.

Какие сервисы используете вы и какие из них наиболее точные?

LinkedIn
Допустимые теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Допустимые теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Alex, спасибо, посмотрим

Не завжди коректно відпрацьовує. Датагруп, наприклад, за останні два місяці поселив мене в Харкові, Запоріжжі, Нікополі, хоча насправді користуюсь послугами в Києві. Скупляють провайдерів з їхніми пулами IPv4, не дооформлюють, а потім видають рандомно.
[Google, Bing, Yandex] Maps якимось чином(HTML5 Geolocation) визначають з точністю до будинку(ноут без GPS, відключені мобільні/планшети, анонімна вкладка в браузері, DHCP release/renew на роутері) Але тестувалось раз, то не певен, що завжди коректно відпрацьовуватиме. Хтось же має про координати доносити.

Коректно відпрацьовує із точністю до будинку тому, що той-таки Google Location Service використовує WiFi і IP бази.
Сидите Ви на кабелі (IP) або WiFi — це неважливо. Орієнтується сервіс по WiFi точках (у Google передаються BSSID та рівні сигналу точок)

заюзали але кастомер бідкається що всерівно біда, велікі неточності.

А що юзається тут ? www.mapbox.com/....0/geolocation

Визначило з точністю до 10 метрів

Показали по сути г. Минск и все. Офис белтелекома.

Mapbox теж запитує дозвіл у користувача, то значить, що все той же HTML5 Geolocation використовуєтсья. Але не факт, що визначає тільки за допомогою нього. Потім може ще коригувати додатково іншим методом.
Знайшов про FF


By default, Firefox uses Google Location Services to determine your location by sending:
  • your computer’s IP address,
  • information about the nearby wireless access points, and
  • a random client identifier, which is assigned by Google, that expires every 2 weeks
www.mozilla.org/...ox/geolocation
Страшна штука. Навіть якщо через tor ходити — все одно знаходить.
Щось схоже на GLS www.skyhookwireless.com/hyperlocal-ip

А меня показало с точностью около 10 км. Но уже хотя бы не в Могилев отправило.

В смысле никакого GPS в устройстве нет?

Да, нету. Всё что есть это Ip

Ну, попробовать запросить координаты у устройства с которым пользователь заходит в ваш сервис.

можно поподробней? заинтересовало.

У андроидов, айфонов есть API по запросу координат устройства. Вопрос только можете ли вы вызвать его из javascript и т.п. Но если пользователь ставит ваше приложение, то никаких проблем вызвать уже в приложении. Сейчас все мобильные устойства умеют по крайней мере AGPS.

API по запросу координат устройства. Вопрос только можете ли вы вызвать его из javascript и т.п.
navigator.geolocation.getCurrentPosition — функція чудово працює, принаймні для айфонів і андроїдів

Как я понимаю, предполагается что это ноутбук или около того без GPS/AGPS приемника.

Увы — тогда точности будет однозначно недостаточно для чего-то более осмысленного чем определения страны по автономке.

Увы — тогда точности будет однозначно недостаточно для чего-то более осмысленного чем определения страны по автономке.

Это уже косяки провайдера.

Большинство подобных определялок, включая ваш пример (ipinfo.io), уносят меня на 500 км вверх по Днепру, в Киев.

Так никто не спорит, сейчас задача стоит в том, что бы найти сервис поточнее.

Не существует в принципе, в смысле опредения только по ip. Особенно если мобильные операторы будут. А они будут.

Можно посмотреть в сторону location sharing в Хроме.

Подписаться на комментарии