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传递数据的二维码,在浏览器打开,将其中的地址复制黏贴出

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
<template>
<view>
// view_nav 函数里面传入经纬度,点击view_nav会跳转到web_view页面
<view class="see" @click="view_nav(info.longitude, info.latitude)">查看导航</view>
</view>
</template>
<script>
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页面

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

至此全代码结束

uni-app H5 腾讯地图无法导航的更多相关文章

  1. H5端调起百度地图、腾讯地图app

    来自一个需求的总结: 在微信公众号中根据地图上的marker和label,或者搜索结果点击调起地图APP进行导航. 一开始是使用百度地图进行开发,后面转腾讯是因为微信不允许不是自家或者合作方的APP在 ...

  2. uniapp H5引入腾讯地图

    在网上搜索了许多关于uniapp引入腾讯地图的方法都以失败告终,我开发的应用主要使用于H5,小程序与H5是不同的sdk,就不在这说了,况且小程序有手把手教学,可参考腾讯地图官网https://lbs. ...

  3. 在H5页面内通过地址调起高德地图实现导航

    项目中用到的一个功能是要通过点击地址来实现打开地图app实现地址导航. 如下图: 实现思路就是在H5页面内通过点击marker图标然后进行当前位置与页面上地址的路程规划与导航. 由于项目中用到的是高德 ...

  4. 在iOS APP中使用H5显示百度地图时如何支持HTTPS?

    现象: 公司正在开发一个iOSAPP,使用h5显示百度地图,但是发现同样的H5页面,在安卓可以显示出来,在iOS中就显示不出来. 原因分析: 但是现在iOS开发中,苹果已经要求在APP中的所有对外连接 ...

  5. H5调用腾讯地图

    获取当前定位的经纬度并在容器内显示当前位置 (安卓上的位置有点偏差) 在vue的index.html中需要引用 template <div id="container" st ...

  6. 微信h5页面调用第三方位置导航

    微信h5页面拉起第三方导航应用 需要准备的: 通过微信认证的公众号有备案过的域名 背景:微信公众号点击菜单栏跳到h5页面,需要用到导航功能 需求:当用户点击导航按钮时,跳转到第三方app进行导航 参考 ...

  7. 地图API使用文档-以腾讯地图为例

    目录 腾讯地图API 2 1.API概览... 2 1.1 WebService API(官网注明是beta版本,可能不稳定,慎用):... 2 1.2 URL API:... 2 1.3 静态图AP ...

  8. ios开发之--条用第三方地图路线导航

    项目里面有位置功能,需要有导航,导航两种实现方式 (集成第三方SDK.URL跳转第三方应用) ,直接集成就不说,下面来说下通过url跳转, 最终效果如如下: 如果手机上安装的有客户端就展示,没有就不展 ...

  9. 移动端app跳转百度地图

    http://lbsyun.baidu.com/index.php?title=uri/guide/helloworld(百度地图调起URI API)开发者只需按照接口规范构造一条标准的URI,便可在 ...

  10. Xamarin.Forms 调用 腾讯地图SDK

    Xamarin.Forms研究了好一段时间了,最近一直在学习中,想尝试一下调用其他的SDK,就如腾讯地图SDK(申请容易). 完成此次项目得感谢以下链接: http://www.cnblogs.com ...

随机推荐

  1. 海豚调度调优 | 如何解决任务被禁用出现的Bug

    本系列文章是 DolphinScheduler 由浅入深的教程,涵盖搭建.二开迭代.核心原理解读.运维和管理等一系列内容.适用于想对 DolphinScheduler了解或想要加深理解的读者. 祝开卷 ...

  2. Apache DolphinScheduler数仓任务管理规范

    前言: 大数据领域对多种任务都有调度需求,以离线数仓的任务应用最多,许多团队在调研开源产品后,选择Apache DolphinScheduler(以下简称DS)作为调度场景的技术选型.得益于DS优秀的 ...

  3. Leetcode: 1484. Groups Sold Products By The Date

    题目要求如下: 输入的数据为 要求按照日期查询出每日销售数量及相应产品的名称,并按照字符顺序进行排序. 下面是实现的代码: import pandas as pd def categorize_pro ...

  4. CF Div3 962 E-F

    CF Div3 962 E-F E. Decode 链接: Problem - E - Codeforces 简要题意: 给你一个长度为 \(n\) 的二进制字符串\(s\) .对于每一对整数\((l ...

  5. String真的不可变吗?

    Java中的String是不可变对象 在面向对象及函数编程语言中,不可变对象(英语:Immutable object)是一种对象,在被创造之后,它的状态就不可以被改变.至于状态可以被改变的对象,则被称 ...

  6. P10884 [COCI 2017-2018#2] San

    题目传送门:P10884 [COCI 2017-2018#2] San 看下标签 COCI(克罗地亚) 2017 啊 比我小4年的题 --------------------------------- ...

  7. Flutter调试debug或者打包release帧率只有60的原因

    问题描述 最近发现Flutter中引入像素较大的静态图片或者字体导致调试或者打包之后在高刷手机上帧率只有60的问题. 测试设备为小米13,可在开发者选项中直接打开帧率显示, 也可使用statsfl插件 ...

  8. 工程化Vue使用

    目录 环境准备 Vue项目-创建 Vue项目开发流程 API风格 案例 推荐阅读: VUE-局部使用 环境准备 介绍:create-vue是Vue官方提供的最新的脚手架工具,用于快速生成一个工程化的V ...

  9. Go实现常用的排序算法

    一.插入排序 1.从第一个元素开始,该元素可以认为已经被排序 2.取出下一个元素,在已经排序的元素序列中从后向前扫描 3.如果该元素(已排序)大于新元素,将该元素移到下一位置 4.重复步骤3,直到找到 ...

  10. OData – 坑

    前言 OData 有很多很多的坑,我的主张是能少用一样是一样,比如 Batch Processing 不要用,Inheritance 不要用,除了 GET 其它 PUT POST DELETE 都不要 ...