Добрый день!
Я использую такой код для определения местоположения пользователя:
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 метров). Как они это делают?