当前位置: 首页 > news >正文

uniapp打开导航软件并定位到目标位置的实现

/*** 打开导航* @param location 经纬度(例如:"117.214713,39.116884")* @param address 地址*/
export function mapNavigation(location, address) {const locationArr = location.split(',')const longitude = locationArr[0]const latitude = locationArr[1]let url = '' // app urllet webUrl = '' // web url 用来为用户未安装导航软件时打开浏览器所使用urlplus.nativeUI.actionSheet({ // 选择菜单title: '选择地图应用',cancel: '取消',buttons: [{title: '高德地图'}, {title: '百度地图'}] // 可选的地图类型}, (e) => {// 判断用户选择的地图switch (e.index) {// 下面是拼接url,不同系统以及不同地图都有不同的拼接字段case 1: // 打开高德地图if (plus.os.name == 'Android') { // 安卓url =`androidamap://viewMap?sourceApplication=appname&poiname=${address}&lat=${latitude}&lon=${longitude}&dev=0`} else { // 苹果url =`iosamap://viewMap?sourceApplication=applicationName&poiname=${address}&lat=${latitude}&lon=${longitude}&dev=0`}webUrl =`https://uri.amap.com/marker?position=${longitude},${latitude}&name=${address}&src=mypage&coordinate=gaode`breakcase 2: // 打开百度地图if (plus.os.name == 'Android') { // 安卓url =`baidumap://map/marker?location=${latitude},${longitude}&title=${address}&content=${address}&src=andr.baidu.openAPIdemo&coord_type=gcj02`} else { // 苹果url =`iosamap://map/marker?location=${latitude},${longitude}&title=${address}&content=${address}&src=ios.baidu.openAPIdemo&coord_type=gcj02`}webUrl =`http://api.map.baidu.com/marker?location=${latitude},${longitude}&title=${address}&content=${address}&output=html&src=webapp.baidu.openAPIdemo`break}// 如果选中if (url != '') {url = encodeURI(url)// 打开 app 导航plus.runtime.openURL(url, () => {// 毕竟用户可能没有安装app但一定安装的有浏览器// 如果失败则说明未安装 直接 打开网页版进行导航let chooseMap = ''if (e.index == 1) {chooseMap = '高德地图'} else if (e.index == 2) {chooseMap = '百度地图'} else {chooseMap = '腾讯地图'}uni.showModal({title: '提示',content: '检测到您本机暂未安装' + chooseMap + '应用,是否要选择使用浏览器打开?',confirmText: '确定',cancelText: '取消',showCancel: true,success: function(res) {if (res.confirm) {plus.runtime.openURL(webUrl)}}})})}})
}
http://www.lryc.cn/news/596652.html

相关文章:

  • 从零搭建 OpenCV 项目(新手向)--第一天初识OpenCV与图像基础
  • 京东视觉算法面试30问全景精解
  • Thinkphp8使用Jwt生成与验证Token
  • 最新基于R语言结构方程模型分析与实践技术应用
  • 《C++》面向对象编程--类(中)
  • 八大作业票(一) 动火安全作业证
  • Spring Boot环境搭建与核心原理深度解析
  • 豪鹏科技锚定 “AI + 固态” 赛道:从电池制造商到核心能源方案引领者的战略跃迁
  • 大数学习笔记整理
  • iOS WebView 调试实战 localStorage 与 sessionStorage 同步问题全流程排查
  • Java(LinkedList和ArrayList底层分析)
  • Docker Compose UI远程访问教程:结合贝锐花生壳实现内网穿透
  • 应用层攻防启示录:HTTP/HTTPS攻击的精准拦截之道
  • 渗透部分总结
  • 大模型——Data Agent:超越 BI 与 AI 的边界
  • L0 范数、L1 范数和 L2 范数详解(归一化+正则化)
  • 【CAN】2.帧格式
  • 【数据结构初阶】--栈和队列(一)
  • 洛谷 B3939:[GESP样题 四级] 绝对素数 ← 素数判定+逆序整数
  • 二、PV输入升压电路
  • opencv-图像处理
  • Typecho三种版权保护方法对比与实战指南
  • ArKTS: DAL,Model,BLL,Interface,Factory using SQLite
  • 欧式装修颜色要怎么搭配?
  • 前端学习日记(十)
  • 【专题十三】队列 +宽搜
  • 3.5 模块化编程实践
  • 秋招Day17 - Spring - 事务
  • 使用 Ansys Fluent 软件参数化工作流程对搅拌罐中的稳态涡流进行仿真
  • 力扣 78.子集