Методы определения вашего текущего местоположения: GPS, IP и Wi-Fi.

  1. Местоположение на основе GPS:
    Этот метод использует GPS (глобальную систему позиционирования) для определения координат широты и долготы. Вы можете использовать API navigator.geolocationв JavaScript, чтобы получить текущую позицию пользователя. Вот пример:
if (navigator.geolocation) {
  navigator.geolocation.getCurrentPosition(function(position) {
    var latitude = position.coords.latitude;
    var longitude = position.coords.longitude;
    console.log("Latitude: " + latitude);
    console.log("Longitude: " + longitude);
  });
} else {
  console.log("Geolocation is not supported by this browser.");
}
  1. Расположение на основе IP.
    Этот метод использует IP-адрес устройства для оценки местоположения. Доступно несколько API-интерфейсов геолокации IP, которые предоставляют информацию о местонахождении пользователя на основе его IP-адреса. Вот пример использования службы ipapi:
fetch('https://ipapi.co/json/')
  .then(response => response.json())
  .then(data => {
    var city = data.city;
    var region = data.region;
    var country = data.country_name;
    console.log("City: " + city);
    console.log("Region: " + region);
    console.log("Country: " + country);
  })
  .catch(error => {
    console.log("Error: " + error);
  });
  1. Местоположение на основе Wi-Fi.
    Некоторые платформы и устройства позволяют определять местоположение на основе близлежащих сетей Wi-Fi. Одним из примеров является API геолокации Google, который можно использовать для оценки местоположения на основе окружающих сетей Wi-Fi. Вот пример использования API геолокации Google:
// Provide your Google Geolocation API key
var apiKey = 'YOUR_API_KEY';
// Construct the request body
var request = {
  wifiAccessPoints: [
    { macAddress: '00:00:00:00:00:00', signalStrength: -50 },
    { macAddress: '00:00:00:00:00:01', signalStrength: -60 },
    // Add more Wi-Fi networks if available
  ]
};
// Make a POST request to the Google Geolocation API
fetch('https://www.googleapis.com/geolocation/v1/geolocate?key=' + apiKey, {
  method: 'POST',
  body: JSON.stringify(request)
})
.then(response => response.json())
.then(data => {
  var location = data.location;
  var latitude = location.lat;
  var longitude = location.lng;
  console.log("Latitude: " + latitude);
  console.log("Longitude: " + longitude);
})
.catch(error => {
  console.log("Error: " + error);
});