我设法使用基于 HTML 的地理位置获取用户的纬度和经度。//检查浏览器是否支持 W3C 地理位置 APIif (navigator.geolocation) { navigator.geolocation.
我设法使用基于 HTML 的地理定位获取用户的纬度和经度。
//Check if browser supports W3C Geolocation API
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(successFunction, errorFunction);
}
//Get latitude and longitude;
function successFunction(position) {
var lat = position.coords.latitude;
var long = position.coords.longitude;
}
我想显示城市名称,似乎获取它的唯一方法是使用反向地理定位 API。我阅读了 Google 的反向地理定位文档,但我不知道如何在我的网站上获取输出。
我不知道如何使用这个: "http://maps.googleapis.com/maps/api/geocode/json?latlng='+lat+','+long+'&sensor=true"
在页面上显示城市名称。
我怎样才能实现这个目标?
这是一个您可以用来获取它的简单函数。我使用 axios 发出 API 请求,但您可以使用其他任何函数。
async function getCountry(lat, long) {
const { data: { results } } = await axios.get(`https://maps.googleapis.com/maps/api/geocode/json?latlng=${lat},${long}&key=${GOOGLE_API_KEY}`);
const { address_components } = results[0];
for (let i = 0; i < address_components.length; i++) {
const { types, long_name } = address_components[i];
if (types.indexOf("country") !== -1) return long_name;
}
}