H5页面点击调起腾讯/百度/高德地图APP

注意:在手机端测试时发现了一个问题,用百度浏览器只能调用百度地图app的,对腾讯/高德地图是无效的,于是我用qq浏览器测试,结果发现qq浏览器是都可以调起的。

一:腾讯地图(api文档

window.open(`http://apis.map.qq.com/uri/v1/marker?marker=coord:${this.latitude},${this.longitude};addr:${this.senicTitle}`);

 注释:this.seicTitle是目标地址 

二:百度地图(api文档

window.open(`https://uri.amap.com/navigation?from=${this.longitude},${this.latitude}&to=${this.senicLon},${this.senicLat},${this.senicTitle}&mode=car&callnative=1&coordinate=wgs84&src=mypage`);

 注释:this.latitude , this.longitude 为起点经纬度 this.senicLon this.senicLat 为目标经纬度                        this.senicTitle 同上

三:高德地图(api文档

window.open(`http://api.map.baidu.com/direction?origin=latlng:${this.latitude},${this.longitude}|name:我的位置&destination=latlng:${senicLat},${senicLon}|name:${this.senicTitle}&mode=driving&region=${this.senicTitle}&output=html&src=webapp.baidu.openAPIdemo&coord_type=wgs84`
				);

### 解决uni.chooseLocation接口与腾讯地图集成时搜索不到位置数据的方法 对于在APP中使用`uni.chooseLocation`接口时遇到无法检索到位置数据的情况,可以考虑以下几种解决方案: 当开发环境为H5和小程序平台时,选择腾讯地图服务平台作为地理信息服务提供商是一个合理的选择[^2]。然而,在实际操作过程中如果发现调用`uni.chooseLocation`接口返回的结果为空或不准确,则可能是由于API配置不当或其他技术原因造成的。 #### 1. 检查网络连接状态 确保设备具有良好的互联网访问权限,并且应用程序已获得必要的定位服务授权。这一步骤有助于排除因网络不稳定而导致的数据加载失败问题。 #### 2. 验证密钥有效性 确认已经成功申请并正确设置了腾讯地图SDK的API Key。错误或者过期的key可能会阻止请求被正常处理,从而影响地理位置查询功能的表现。 #### 3. 更新至最新版本 保持使用的Uni-app框架以及腾讯地图插件均为最新的稳定版。旧版本可能存在兼容性缺陷或是未修复的安全漏洞,这些都可能导致特定场景下的异常行为。 #### 4. 调整参数设置 仔细阅读官方文档关于`uni.chooseLocation`方法的各项参数说明,适当调整输入参数以适应具体应用场景的需求。例如,可以通过指定城市名称缩小搜索范围,提高匹配精度;也可以尝试修改坐标系类型(如GCJ-02转WGS84),以便更好地与其他第三方服务对接[^1]。 #### 5. 使用替代方案 考虑到不同平台间可能存在的差异性和局限性,建议同时准备一套备用的技术路线。比如,在Android/iOS原生环境中优先采用高德地图的服务端口进行地址解析工作,而在Web端则继续沿用腾讯地图的相关能力。 ```javascript // 示例代码展示如何正确初始化腾讯地图插件并发起一次有效的地点选择请求 import * as tm from 'tencent-map-plugin'; tm.init({ key: 'your_tencent_map_api_key_here' }); async function getLocation() { try { const res = await uni.chooseLocation({}); console.log('Selected location:', res); } catch (err) { console.error(err.message); } } ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值