您当前的位置: 首页 > 解决方案

微信小程序里自动获得当前手机所在的经纬度并转换成地址

  • 作者: admin
  • 发布于 2018-11-07 14:08:43
  • 来源:  
  • 栏目:解决方案

导语: 效果:我在手机上打开微信小程序,自动显示出我当前所在的地理位置: 具体步骤: 1. 使用微信js

 

效果:我在手机上打开微信小程序,自动显示出我当前所在的地理位置:

12.jpg

具体步骤:

1. 使用微信jssdk提供的getLocation API拿到经纬度;

2. 调用高德地图的api使用经纬度去换取地址的文字描述。

13.jpg

wx.ready(() => { wx.getLocation({ type: "gcj02", success: function(res) { var location = "&location=" + res.longitude + "," + res.latitude; ReservationService.getGeocode(location).then(response => { if ( response.data.status === "1" && response.data.info === "OK" ) { self.country = response.data.regeocode.addressComponent.country; self.city = response.data.regeocode.addressComponent.city; var express = "/" + self.country + "|" + response.data.regeocode.addressComponent.province + "|" + self.city + "|" + response.data.regeocode.addressComponent.district + "|" + response.data.regeocode.addressComponent.township + "/g"; self.address = response.data.regeocode.formatted_address.replace( eval(express), "" ); } else { // get location error, plz input address alert("无法获取地址信息,请稍后再试"); } }); } });

ReservationService.getGeocode的实现:

getGeocode(location) {

const key = '此处填入您高德地图app的key';

return axios.post('https://restapi.amap.com/v3/g...' + key + location);

}

看下面一个使用高德地图API将经纬度转换成文字描述的地址的例子,使用postman发送请求:

16.jpg

API响应:

 {  "status": "1",  "regeocode": {  "addressComponent": {  "city": [],  "province": "北京市",  "adcode": "110101",  "district": "东城区",  "towncode": "110101001000",  "streetNumber": {  "number": "44号",  "location": "116.39795,39.9097239",  "direction": "东北",  "distance": "117.874",  "street": "广场东侧路"  },  "country": "中国",  "township": "东华门街道",  "businessAreas": [  {  "location": "116.3998109423077,39.90717459615385",  "name": "天安门",  "id": "110101"  },  {  "location": "116.39981058278138,39.92383706953642",  "name": "景山",  "id": "110101"  },  {  "location": "116.4118112683418,39.91461494422115",  "name": "王府井",  "id": "110101"  }  ],  "building": {  "name": "天安门",  "type": "风景名胜;风景名胜相关;旅游景点"  },  "neighborhood": {  "name": [],  "type": []  },  "citycode": "010"  },  "formatted_address": "北京市东城区东华门街道天安门"  },  "info": "OK",  "infocode": "10000"  } 

14.jpg

15.jpg



温馨提示:这篇文章没有解决您的问题?欢迎添加微信:18948083295,有微信小程序专业人员,保证有问必答。转载本站文章请注明转自http://www.okeydown.com/(微信小程序网)。

  • 微信扫描二维码关注官方微信
  • ▲长按图片识别二维码
关注我们

微信小程序官方微信

栏目最新
栏目推荐
返回顶部