vue 百度地图纠偏 经纬度偏差
1、百度地图纠偏: /blog/ad60761.html
百度地图 :https://dafrok.github.io/vue-baidu-map/#/zh/start/usage/
实例中心:/jsdemo.htm#a5_2
git 路书解析 :/Dafrok/vue-baidu-map/blob/master/docs/md/zh/bml-lushu.md
使用百度api
http://api./ag/coord/convert?from=0&to=4&x=${list[i].JD}&y=${list[i].WD}
得到的是纠正后的base64加密数据
使用node本身的 new Buffer(jw.data.x, ‘base64’).toString()进行转换,得出的数据是string类型,要将其转换为Number类型,详情请看链接1。
jw = await ctx.curl(`http://api./ag/coord/convert?from=0&to=4&x=${list[i].JD}&y=${list[i].WD}`, {dataType: 'json',timeout: 3000});// console.dir(jw)obj.lng = Number(new Buffer(jw.data.x, 'base64').toString());//经度obj.lat = Number(new Buffer(jw.data.y, 'base64').toString());//纬度
2、根据经纬度返回地址等信息
使用百度api
https://api./geocoder/v2/?location=${lat},${lng}&output=json&ak=0hT82pj7F8UQM9jkMEsVHeWn8rbN5XFn&pois=0
let lat='23.112223' //纬度let lng='113.331084' //经度let res = await ctx.curl(`https://api./geocoder/v2/?location=${lat},${lng}&output=json&ak=0hT82pj7F8UQM9jkMEsVHeWn8rbN5XFn&pois=0`)
返回广州塔信息
{status: 0,result: {location: {lng: 113.33108399999998,lat: 23.1122230107818},formatted_address: "广东省广州市海珠区阅江西路222号",business: "赤岗,新港西路,客村",addressComponent: {country: "中国",country_code: 0,country_code_iso: "CHN",country_code_iso2: "CN",province: "广东省",city: "广州市",city_level: 2,district: "海珠区",town: "",town_code: "",distance: "99",direction: "西",adcode: "440105",street: "阅江西路",street_number: "222号"},pois: [ ],roads: [ ],poiRegions: [{direction_desc: "内",name: "广州塔",tag: "旅游景点;风景区",uid: "45d8aa46648681673a13fd63",distance: "0"}],sematic_description: "广州塔内,汇礼轩商场西北99米",cityCode: 257}}