eprivalov
@eprivalov
Учусь

Как точно определить местоположение пользователя?

Добрый день!

Я использую такой код для определения местоположения пользователя:

var options = {
  			enableHighAccuracy: true,
  			timeout: 5000,
  			maximumAge: 0
		};

		function success(pos) {
		  var crd = pos.coords;

		  console.log('Your current position is:');
		  console.log(`Latitude : ${crd.latitude}`);
		  console.log(`Longitude: ${crd.longitude}`);
		  console.log(`More or less ${crd.accuracy} meters.`);
		};

		function error(err) {
		  console.warn(`ERROR(${err.code}): ${err.message}`);
		};

		navigator.geolocation.getCurrentPosition(success, error, options);


Однако, он определяет достаточно не точно даже мое собственное местоположение (ошибка примерно на 10км). Хотя заходя на некоторые сайты, я вижу, что они практически точно определяют адрес (погрешность до 100 метров). Как они это делают?
  • Вопрос задан
  • 563 просмотра
Пригласить эксперта
Ответы на вопрос 2
sim3x
@sim3x
Они платят за ето много денег и собирают много информации из кучи источников
Ответ написан
Комментировать
@BorisKorobkov
Web developer
Комп, подключенный через ethernet, можно определить только по IP, а это с точность до города, максимум района.

Смартфон (с разрешения юзера) определяется гораздо точнее с помощью триангуляции по сотовым вышкам (LBS) или GPS. Особо крутые компании могут точно определить местоположение по именам WiFi-сетей или другим косвенным признакам.

P.S. Кстати, укажите сайты, которые якобы до 100 метров определят мое местоположение.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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