server.transfer 无法跳转页面_H5 腾讯地图无法导航

uni-app 打包H5腾讯地图无法导航

前言:

最近几天用uni-app开发安卓和iOS应用,打包成APP安装包后,APP内做地图导航没有问题,APP内使用的是高德地图;但是打包成为H5页面后,运行在微信内置浏览器或者运行在第三方浏览器(UC/QQ浏览器),默认运行的是腾讯地图,地图可以打开,却无法进行导航。

具体错误可查看帖子:https://ask.dcloud.net.cn/question/86216

-----------------------分割线-----------------------------

前置条件:

  1. 开发环境:windows

  2. 开发框架:uni-app , H5+,nativeJS

  3. 编辑器:HbuilderX

   4.兼容版本:安卓,IOS已作测试

此代码可以直接复制到uni-app项目中使用

-----------------------分割线-----------------------------

最解决方案如下:

1. 放弃uni-app 内置的 uni.openLocation() 方法,直接使用腾讯地图位置组件,

腾讯地图位置展示组件文档:

https://lbs.qq.com/webApi/component/componentGuide/componentMarker

2. 进入文档地址后,拉到最底部,有个预览,扫描URL传递数据的二维码,在浏览器打开,将其中的地址复制黏贴出来;

807b39887e1d892a9e46836b5d705cc4.png

2.1 扫描二维码后得到的地址:

https://3gimg.qq.com/lightmap/v1/marker/?marker=coord:39.892326,116.342763;title:超好吃冰激凌;addr:手帕口桥北铁路道口&referer=myapp&key=OB4BZ-D4W3U-B7VVO-4PJWW-6TKDJ-WPB77

3.准备一个web_view页面,点击查看导航的时候,跳转到web_view页面;

web_view的url地址就是刚才扫描二维码的地址;得到的二维码地址就是步骤2.1的地址。

3.1 uni-app 组件 web_view 具体使用详情,可参考如下文档:

https://uniapp.dcloud.io/component/web-view

4. 具体代码如下:

4.1 点击查看地图的页面vue代码

// 页面 A  <view>    // view_nav 函数里面传入经纬度,点击view_nav会跳转到web_view页面    <view class="see" @click="view_nav(info.longitude, info.latitude)">查看导航view>  view></template>  export default {      view_nav: function(longitude, latitude) {         /**         * 1.页面跳转到web_view页面,页面跳转时候携带一个url参数        * 2.url地址就是上面步骤2.1的地址        * 3.后面的 referer 属性值换为自己的App名称,key属性的值换为自己的腾讯地图申请的key值        **/        uni.navigateTo({          url: '/pages/web_view/web_view?url=https://3gimg.qq.com/lightmap/v1/marker/?marker=coord:'+latitude+','+longitude+'&referer=myApp&key=OB4BZ-D4W3U-B7VVO-4PJWW-6TKDJ-WPB77'        })      }  }</script>

5. web_view页面

      // 页面A跳转过来携带的url参数    :src="url">  </view>  export default {    data() {      return {        url: ''      };    },    onLoad(e) {      // e.url 就是页面 A 跳转过来携带的url参数      this.url = e.url;    }  };</script>

至此全代码结束

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值