需求
- 小程序中有个按钮点击以后会调用手机中第三方地图进行导航。
- 参数 位置信息 经度 与纬度。
实现方法
uni.openLocation({latitude:Number('地址纬度'),longitude:Number('地址经度'),name:'地址名称',address:'地址详情',success:function(res){
console.log('打开系统位置地图成功')},fail:function(error){
console.log(error)}
原本以为一切顺利,结果在微信开发者工具中显示如下:
location参数格式错误,请正确填写
经过测试发现,因为我在微信小程序中使用,所以默认会使用腾讯地图来显示。
而我的经度和纬度的信息源开其他地图软件,格式上好像是不兼容的。
腾讯地图获取坐标点工具如下
https://lbs.qq.com/getPoint/
在这里获取到的坐标点,就可以正常显示了。
我的最终代码如下:
uni.openLocation({longitude:Number(118.797962),latitude:Number(32.086816),name:'南京站',address:'江苏省南京市玄武区龙蟠路',success:function(res){
console.log('打开系统位置地图成功')},fail:function(error){
console.log(error)}
从明面上来看坐标的精度是保存小数点后6位
注意事项
latitude 纬度
longitude 经度
不要搞返了,我一开始就搞返了
参考
uniapp下各端调用三方地图导航
https://juejin.cn/post/7262941534528700453
https://uniapp.dcloud.net.cn/api/location/open-location.html
版权归原作者 ITKEY_ 所有, 如有侵权,请联系我们删除。