时间:2021-05-26
简介
该方法支持跳转第三方地图并定位指定坐标。
APP端跳转至百度地图(第三方软件);若无,则跳转至高德地图(第三方软件);若均无,则打开腾讯地图(uni自带方法:uni.openLocation)
其它端打开腾讯地图(uni自带方法:uni.openLocation)
demo
源码:https://github.com/yapeee/uni-components
测试数据:
wgs84: 39.9078008469, 116.391290596
bd09: 39.915547, 116.403909
gcj02: 39.9091591069, 116.3974783161
基础用法
属性说明
参数 说明 类型 latitude 纬度(默认GCJ-02坐标系) Float longitude 经度(默认GCJ-02坐标系) Float name 地图标注名称 String coord_type 坐标类型,可选参数。示例:gcj02、bd09、wgs84 String
实现方案
首先判断程序的运行平台,不同的平台调用不同的打开地图的方法。android和ios平台下,判断并打开百度地图和高德地图。其他平台下,打开腾讯地图网页版(uni自带方法)。
一、判断运行平台
通过条件编译及uni.getSystemInfoSync().platform来判断android、ios及其他平台。
// #ifdef APP-PLUSswitch(uni.getSystemInfoSync().platform){ case 'android': console.log('运行Android上') openMapByAndroid(latitude, longitude, name) break; case 'ios': console.log('运行iOS上') openMapByIos(latitude, longitude, name) break; default: openMapByDefault(latitude, longitude, name) console.log('运行在开发者工具上') break;} // #endif// #ifndef APP-PLUSopenMapByDefault(latitude, longitude, name)// #endiftips:平台判断有2种场景,一种是在编译期判断,一种是在运行期判断。
编译期判断:即条件编译,不同平台在编译出包后已经是不同的代码。
运行期判断:运行期判断是指代码已经打入包中,仍然需要在运行期判断平台,此时可使用 uni.getSystemInfoSync().platform 判断客户端环境是 Android、iOS 还是小程序开发工具(在百度小程序开发工具、微信小程序开发工具、支付宝小程序开发工具中使用 uni.getSystemInfoSync().platform 返回值均为 devtools)。
二、APP打开第三方地图的方法
HTML5+是对接SDK与页面的中间件,用于页面通过js调用底层的SDK接口。
2.1、 APP判断第三方应用是否存在
2.1.1、判断百度地图应用是否存在
2.1.2、判断高德地图应用是否存在
2.2、APP调用第三方程序打开指定的URL
2.2.1、打开第三方程序实际应用
2.2.2、打开android百度地图
2.2.3、打开android高德地图
2.2.4、打开ios百度地图
2.2.5、打开ios高德地图
三、其他平台打开地图的方法
其他平台采用uni.openLocation(OBJECT)方法使用应用内置地图查看位置。
uni.openLocation({ latitude: latitude, longitude: longitude, name: name, fail: () => { uni.showModal({ content: '打开地图失败,请重' }) },})更新日志
2020-01-02
支持BD-09(百度坐标)、GCJ-02(高德、腾讯)、WGS-84(GPS坐标)坐标系。
2019.12.10
第一次发布,支持跳转第三方地图并定位指定坐标。
参考
百度地图URI API
高德地图URI API
uni-app HTML5+ API
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
以GPS为例,定位与导航的区别: GPS定位是指能被授权的第三方接收信息,对GPS终端(设备)定位,在地图上显示位置。第三方可以是自己的手机和指定的手机、平台
前言现在很多应用都会用到地图,但是我们肯定不想自己的app中还要弄个导航神马的,所以第三方的地图也为我们开辟了一条捷径,直接将数据传输到地图应用,让第三方的地图
截止2020年7月,目前天猫精灵是不支持安装第三方App应用的,所以天猫精灵不能安装钉钉APP,也许后续会做系统的升级,来支持第三方软件。 天猫精灵X1(Tm
1.什么是第三方支付 所谓第三方支付,就是一些和各大银行签约、并具备一定实力和信誉保障的第三方独立机构提供的交易支持平台。在通过第三方支付平台的交易中,买方选
我们知道在iOS8系统中,可以支持使用第三方输入法,而使用第三方输入法之前,需要开启第三方键盘。下面就来演示下iOS8开启第三方键盘的操作步骤。 第一步,