if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(success, error);
} else {
// Геолокация не поддерживается
showCityByIP();
}
function success(position) {
const latitude = position.coords.latitude;
const longitude = position.coords.longitude;
// Использовать сервисы обратного геокодирования для получения города
// Например, с помощью Яндекс.Карт API:
// ymaps.geocode([latitude, longitude]).then(function (res) {
// const firstGeoObject = res.geoObjects.get(0);
// const city = firstGeoObject.getLocalities().get(0);
// // Обработка результата
// });
showCity(city); // Функция для отображения города
}
function error(err) {
// Обработка ошибок геолокации
showCityByIP();
}
function showCityByIP() {
// Получение города по IP-адресу
// Например, с помощью сервиса ip-api.com:
// fetch('http://ip-api.com/json')
// .then(response => response.json())
// .then(data => {
// const city = data.city;
// showCity(city);
// });
showCity("Не удалось определить город"); // Функция для отображения города
}
function showCity(city) {
// Отображение города на странице
document.getElementById('city').textContent = city;
}
В предварительной демонстрации могут поменяться цвета и настройки по умолчанию не у всех элементов. Непосредственно заменив, этот момент будет исправлен.