博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
在微信小程序里自动获得当前手机所在的经纬度并转换成地址
阅读量:6149 次
发布时间:2019-06-21

本文共 1891 字,大约阅读时间需要 6 分钟。

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

具体步骤:

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

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

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 addressalert("无法获取地址信息,请稍后再试");}});}});复制代码

ReservationService.getGeocode的实现:

getGeocode(location) {

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

return axios.post('https://restapi.amap.com/v3/geocode/regeo?key=' + key + location);

}

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

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"}复制代码

要获取更多Jerry的原创文章,请关注公众号"汪子熙":

转载地址:http://qemya.baihongyu.com/

你可能感兴趣的文章
《代码敲不队》第四次作业:项目需求调研与分析
查看>>
菜鸡互啄队—— 团队合作
查看>>
HttpWebRequest的GetResponse或GetRequestStream偶尔超时 + 总结各种超时死掉的可能和相应的解决办法...
查看>>
SparseArray
查看>>
第二章
查看>>
android背景选择器selector用法汇总
查看>>
[转]Paul Adams:为社交设计
查看>>
showdialog弹出窗口刷新问题
查看>>
java
查看>>
Vue.js连接后台数据jsp页面  ̄▽ ̄
查看>>
关于程序的单元测试
查看>>
mysql内存优化
查看>>
都市求生日记第一篇
查看>>
Java集合---HashMap源码剖析
查看>>
SQL优化技巧
查看>>
thead 固定,tbody 超出滚动(附带改变滚动条样式)
查看>>
Dijkstra算法
查看>>
css 动画 和 响应式布局和兼容性
查看>>
csrf 跨站请求伪造相关以及django的中间件
查看>>
MySQL数据类型--与MySQL零距离接触2-11MySQL自动编号
查看>>