Я могу получить широту / долготу из следующего кода. и на основе этого значения я должен получить название города.
<!DOCTYPE html>
<html>
<body>
<p>Click the button to get your coordinates.</p>
<button onclick = "getLocation()">Try It</button>
<p id = "demo"></p>
<script>
var x = document.getElementById("demo");
function getLocation() {
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(showPosition);
} else {
x.innerHTML = "Geolocation is not supported by this browser.";
}
}
function showPosition(position) {
x.innerHTML = "Latitude: " + position.coords.latitude +
"<br>Longitude: " + position.coords.longitude;
var geocoder;
geocoder = new google.maps.Geocoder();
var latlng = new google.maps.LatLng(position.coords.latitude, position.coords.longitude);
geocoder.geocode({'latLng': latlng}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
if (results[0]) {
var add= results[0].formatted_address ;
var value=add.split(",");
count=value.length;
country=value[count-1];
state=value[count-2];
city=value[count-3];
alert("city name is: " + city);
}
else {
alert("address not found");
}
}
else {
alert("Geocoder failed due to: " + status);
}
}
</script>
</body>
</html>
Я читал об API геолокации в некоторых статьях. И я не уверен, что это действительно необходимо, поскольку я не использую здесь карты. Мне просто нужно только текущее название города
Так. Что вы предлагаете для разрешения
вам необходимо реализовать google map, чтобы вы могли получить доступ к объекту google



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Это зависит от вашей цели. Если вы хотите использовать это приложение на небольшой территории, лучше жестко закодировать название города и широту / долготу в базе данных, после чего вы можете получить текущую широту / долготу и проверить совпадения в своей базе данных на предмет точности в процентах. . Это зависит от ваших потребностей.
Хорошо. Спасибо за ответ. Итак, как я могу сделать процентную точность после получения широты / долготы текущей позиции
Если вы получили широту / долгую позицию из своей базы данных, вы можете проверить их на диапазон. пусть lat / long из базы данных - это lat1, long 1 и lat / long для текущей позиции lat и long. тогда вы можете проверить соответствие каждого из lat1, long1 из базы данных с помощью (lat> = lat1-0.01 && lat <= lat1 + 0.01 && long> = long1-0.01 && long <= long1 + 0.01). вы можете изменить десятичное значение для вашей точности
в вашей функции
showPositionвы вызываетеnew google.maps.Geocoder(), если я знаю, что в javascript нет глобальной переменнойgoogle