@M4xwell

Как корректно определить город пользователя через API Yandex Maps?

Есть такой код:
сначала подключаю api
 <script src="https://api-maps.yandex.ru/2.1/?lang=ru_RU&amp;apikey=тут_мой_ключ" type="text/javascript"></script>   

<script>
ymaps.ready(function() {
  ymaps.geolocation.get({
   provider: 'yandex',
   //autoReverseGeocode: true

  }).then(function (result) {
    var g = result.geoObjects.get(0);
    $('#city').html(g.getLocalities()[0]);
  });
});
</script>


ну и в див с id city вставляем результат
Задача - корректно определить город пользователя и выдать на сайте.
В чем глюк? С домашнего пк определяет корректно (в рамках роутера). При проверке через мобильник (3g/LTE) - определяет город некорректно совсем, пишет Москва, хотя я больше чем в 2000км от нее. Есть ли способ определять корректно все это дело?
подглюк - не работает совсем при использовании provider: browser (хотелось бы также понять почему)
  • Вопрос задан
  • 453 просмотра
Пригласить эксперта
Ответы на вопрос 1
freeExec
@freeExec
Участник OpenStreetMap
С мобильного нужно GPS, ну если вам пользователь разрешит конечно. Или просите его явно указать город. IP-адрес который выдают мобильному в базах привязан к головному офису оператора. Вот он находится в Москве, а ты можешь уехать хоть на Аляску, от этого в базе чуда не произойдёт и положение адреса не изменится.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы