您的位置:首页 > Web前端 > JavaScript

原生js实现使用谷歌api获取当前位置信息(不使用地图)

2018-03-23 20:15 597 查看
可以先看一下谷歌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("获取位置信息失败!");

});


如果你想要其他信息可以看返回的数据,根据自己的情况找需要的数据。返回数据格式大致如下图:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐