Задать вопрос
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 метров). Как они это делают?
  • Вопрос задан
  • 566 просмотров
Подписаться 2 Оценить 3 комментария
Пригласить эксперта
Ответы на вопрос 2
sim3x
@sim3x
Они платят за ето много денег и собирают много информации из кучи источников
Ответ написан
Комментировать
@BorisKorobkov
Web developer
Комп, подключенный через ethernet, можно определить только по IP, а это с точность до города, максимум района.

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

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

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

Похожие вопросы