有三种方式可以实现:
1.引入小程序内置方法:
wx.chooseLocation(Object object) 打开地图选择位置。
注: 调用前需要 用户授权 scope.userLocation
我的代码只用作参考 效果图我用的是地图选点功能,发现小程序自带的有个问题,搜索完之后地图不可拖动位置,因为我们是做快递业务的,对地图的经纬度要求很高,所以希望有些还没有出现在地图上的位置,希望可以通过搜索完附近的地方在微调一下。所以我换了第二种方式。
2.引入腾讯地图小程序插件
这事腾讯地图官网文档:https://lbs.qq.com/miniprogram_plugin/location-picker.html
在使用的过程中有寄件人信息和收件人信息,地图需要二次调用,分别展示出各地调用后得位置信息,因为是插件,我们无法改变任何包括样式,腾讯地图默认蓝色与整体小程序分格不符,而且插件不知道通过什么方法添加了缓存,导致我的寄件信息与收件信息中的地址因为一个改变而另一个也更着改变了,所以我选择了第三种方式。
效果图3.自己封装方法
自己封装的过程中主要用到的是:
reverseGeocoder(options:Object)
本接口提供由坐标到坐标所在位置的文字描述的转换,输入坐标返回地理位置信息和附近poi列表,
思路:
1.首先获取自己所在位置,根据经纬度将所在位置转换为文字的形式展示在页面上
2.监听拖动地图,拖动结束根据中心点的经纬度,再次调用reverseGeocoder,更新页面
效果图
网友评论