可以先看一下谷歌api返回的数据结构,访问地址:
http://maps.google.cn/maps/api/geocode/json?latlng=32.7763644055,100.4338731743&language=ZH
再来一个百度的api:
http://api.map.baidu.com/geocoder/v2/?ak=7b788c5ea45cc4b3ac6331a4b0643d5b&callback=?&location=32.7763644055,100.4338731743&output=json&pois=1%27
具体代码如下:navigator.geolocation.getCurrentPosition((success) => {
var url = "
http://maps.google.cn/maps/api/geocode/json?latlng="
+success.coords.latitude+","+success.coords.longitude
+"&language=ZH";
var xmlhr;
if (window.XMLHttpRequest) {
xmlhr = new XMLHttpRequest();
} else {
xmlhr = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhr.open("GET",url);
xmlhr.send();
xmlhr.onreadystatechange = function () {
if (xmlhr.readyState == 4 && xmlhr.status == 200 || xmlhr.status == 304) {
var text = JSON.parse(xmlhr.responseText);
// js获取json对象的值时,对于数字索引只能用方括号[],
// 对于字符串既可以使用方括号[],也可以使用点 . 来获取json对象里的值
alert(text['results'][1]['formatted_address']);
}
}
},(error) => {
alert("获取位置信息失败!");
});
如果你想要其他信息可以看返回的数据,根据自己的情况找需要的数据。返回数据格式大致如下图:

原生js实现使用谷歌api获取当前位置信息(不使用地图)
最新推荐文章于 2025-10-12 14:29:39 发布
本文介绍了如何使用谷歌和百度的API来获取当前地理位置的具体信息,包括编写JavaScript代码以调用这些API并解析返回的JSON数据。
6862

被折叠的 条评论
为什么被折叠?



