要在公众号里面做一个活动,需要获取用户的位置,我是用JS SDK
来获取的用户的经伟度,然后用百度地图输出详细地址,结果相差两条街,但是直接使用微信内置地图查看位置的时候,定位蛮准备的呢,为什么呢,如果用微信内置地图查看位置,要怎么把地址输出来呢。
wx.ready(function () {
wx.getLocation({
type: 'gcj02', //wgs84 或 gcj02
success: function (res) {
var latitude = res.latitude; // 纬度,浮点数,范围为90 ~ -90
var longitude = res.longitude; // 经度,浮点数,范围为180 ~ -180。
var MJKD_LATLNG = latitude + ',' + longitude;
var url = 'http://api.map.baidu.com/geocoder/v2/?ak=ak&callback=renderReverse&location=' + MJKD_LATLNG + '&output=json&pois=1';
$.get(url, function(data) {
if(data.status === 0) {
alert(data.result.formatted_address + '=>' + data.result.sematic_description);
}
}, 'jsonp');
},
fail: function(res) {
alert('获取位置失败');
}
});
});
不知道大家可否有什么好的方式获取比较确认的经伟度呢?
gps获取到的坐标需要抓换。百度地图提供的有:
服务API 用来转换GPS设备获取的坐标、google地图坐标、soso地图坐标、amap地图坐标、mapbar地图坐标)转换成百度地图中使用的坐标,并可将转化后的坐标在百度地图JavaScript API、车联网API、静态图API、web服务API等产品中使用。注意Android SDK、iOS SDK、定位SDK和导航SDK坐标转换服务需单独申请