Как определить город юзера?

366
20 июля 2017, 01:15

В последнее время вижу много сайтов, которые при открытии выдают модальное окно с предполагаемым городом и выбором другого, если определенно неверно.

Как собственно реализовать такую штуку у себя на сайте? Что для этого используется js и api какой-то карты?

Answer 1

https://sypexgeo.net/

Вот еще один простой пример

$server = $_SERVER['REMOTE_ADDR'];
$rrs = file_get_contents("http://api.sypexgeo.net/json/".$server);
$obj = json_decode($rrs);
$country = $obj->country->name_ru;
Answer 2

По IP со стороны сервера можно определить расположение вашего провайдера. Для более точного определения вашего расположения можно использовать Geolocation API. В этом случае браузер запросит подтверждение.

Answer 3

Можете использовать Yandex API. В данном примере загружаются два скрипта: ymaps и jQuery для удобства. Когда ymaps загружен, в глобальном контексте появляется одноименный объект ymaps. Из него то и можно получить то, что Вам нужно. Например город: ymaps.geolocation.city. Или регион: ymaps.geolocation.region. Все просто! Так же Вы можете распечатать в консоли объект console.log(ymaps); и посмотреть все его свойства и методы.

<script src="http://yastatic.net/jquery/2.1.1/jquery.min.js"></script>
<script src="http://api-maps.yandex.ru/2.0-stable/?load=package.standard&lang=ru-RU" type="text/javascript"></script>
<script type="text/javascript">
  window.onload = function () {
      jQuery("#user-city").text(ymaps.geolocation.city);
      jQuery("#user-region").text(ymaps.geolocation.region);
      jQuery("#user-country").text(ymaps.geolocation.country);
  }
</script>
<div id="user-city"></div> <div id="user-region"></div> <div id="user-
country"></div>
READ ALSO
Нет подсказок в Форме в Safari

Нет подсказок в Форме в Safari

Заметил такой баг или не баг, что в safari при нажатии "отправить" с пустыми полями не выводит подсказок типа "Заполните это поле", подсказки стандартные,...

305
Получить изменяющийся value=&ldquo;&rdquo; JS

Получить изменяющийся value=“” JS

Как получить изменяющиеся значение value и передать его в другой элемент:

245
window.onbeforeunload перестал работать при подключении angular

window.onbeforeunload перестал работать при подключении angular

ЗдравствуйтеУ меня есть обработчик который удаляет пользователя из дати, если тут покинул или перезагрузил страницу, но при подключении...

253
Функция запускается только через onclick

Функция запускается только через onclick

Почему функция runCode() запускается только через button onclick? Пробовал разные варианты по этой ссылке, все равно результат не изменился, на что я должен...

366