uniapp 地图跳转到第三方导航软件 直接打包成apk

news/2024/11/17 21:17:45/
// 判断是否存在导航软件judgeHasExistNavignation() {let navAppParam = [{pname: 'com.baidu.BaiduMap',action: 'baidumap://'}, // 百度{pname: 'com.autonavi.minimap',action: 'iosamap://'}, // 高德{pname: 'com.tencent.map',action: 'tencentmap://'}, // 腾讯];return navAppParam.some(param => {return plus.runtime.isApplicationExist(param);})},// 获取用户当前定位getPosition() {let that = this;return new Promise(resolve => {uni.getLocation({type: 'gcj02',geocode: true, //设置该参数为true可直接获取经纬度及城市信息success: function(res) {let {latitude,longitude} = resthat.curSysPosition.latitude = latitude;that.curSysPosition.longitude = longitude;resolve();}});})},//  打开第三方地图  info对象是目的地的经纬度数据// this.info:{//   x://   y:// }async handleOpenNavigation() {const lat = this.info.y; //纬度const lng = this.info.x; //经度const address = '目的地';if (!this.judgeHasExistNavignation()) {return this.$showToast("该设备上不存在第三方导航APP");}await this.getPosition();let {latitude,longitude} = this.curSysPosition;let tLngLat = new plus.maps.Point(lng, lat); // 目的地let oLngLat = new plus.maps.Point(longitude, latitude); // 起始地plus.maps.openSysMap(tLngLat, address, oLngLat);},// 地图导航toNearbyStore() {var url = '';const address = '去到这里';//地址const latitude = this.info.y; //纬度const longitude = this.info.x; //精度url = 'geo:' + latitude + ',' + longitude + '?q=' + encodeURIComponent(address);if (uni.getSystemInfoSync().platform == 'android') {plus.runtime.openURL(url);} else {plus.nativeUI.actionSheet({title: "选择地图应用",cancel: "取消",buttons: [{title: "Apple地图"}, {title: "百度地图"}, {title: "高德地图"}, {title: "google地图"}]}, function(e) {console.log("e.index: " + e.index);switch (e.index) {case 1:url =`http://maps.apple.com/?q=${encodeURIComponent(address)}&ll=${latitude},${longitude}&spn=0.008766,0.019441`break;case 2:url = `baidumap://map/marker?location=${latitude},${longitude}&title=DCloud&src=Hello%20uni-app`;break;case 3:url =`iosamap://viewMap?sourceApplication=Hello%20uni-app&poiname=DCloud&lat=${latitude}&lon=${longitude}&dev=0`;break;case 4:url = `comgooglemaps://?q=${encodeURIComponent(address)}&center=${latitude},${longitude}`;break;plus.runtime.openURL(url, function(e) {plus.nativeUI.alert("未安装此地图");});}})}},

http://www.ppmy.cn/news/1096643.html

相关文章

浅谈推进农业水价综合改革的意见解读

摘 要:农业是用水大户,也是节水潜力所在。在我国水资源短缺的背景下,推进农业水价综合改革,建立促使水资源节约的价格政策和准确计量收费机制是农业节水的必然要求,设计一套农田灌溉计量收费管理系统,对改良…

Python爬虫:Selenium的介绍及简单示例

Selenium是一个用于自动化Web应用程序测试的开源工具。它允许开发人员模拟用户在浏览器中的交互行为,以便自动执行各种测试任务,包括功能测试、性能测试和回归测试等。Selenium最初是为Web应用程序测试而创建的,但它也可用于Web数据抓取和其他…

实战ResNet:CIFAR-10数据集分类

本节将使用ResNet实现CIFAR-10数据集的分类。 7.2.1 CIFAR-10数据集简介 CIFAR-10数据集共有60 000幅彩色图像,这些图像是3232像素的,分为10类,每类6 000幅图,如图7-9所示。这里面有50 000幅图用于训练,构成了5个训…

算法通关村16关 | 堆与滑动窗口问题结合

1. 堆与滑动窗口问题结合 题目 LeetCode239 给你一个整数数组nums,有一个大小为k的滑动窗口从数组的最左侧移动到数组的最右侧,你可以看到在滑动窗口内的k个数字,滑动窗口每次只向右移动一位,返回滑动窗口中的最大值。 思路 对于…

Spire.xls+excel文件实现单据打印

报表和单据打印,通常都是使用fastreport之类的,因为有了现成的xls模板样式,如果转成fastreport那还需要花时间,是用spire.xls这个玩意简单,超好用。 一.引用 using Spire.Xls; 二.基本的操作 // 创建工作簿&#xff…

JavaScript中的原型链(prototype chain)

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ JavaScript中的原型链⭐ 写在最后 ⭐ 专栏简介 前端入门之旅:探索Web开发的奇妙世界 记得点击上方或者右侧链接订阅本专栏哦 几何带你启航前端之旅 欢迎来到前端入门之旅!这个专栏是为那些对Web开发感兴趣、刚刚踏…

算法刷题记录-树(LeetCode)

783. Minimum Distance Between BST Nodes 思路(DFS 中序遍历) 考虑中序遍历的性质即可 代码 class Solution { public:int min_diffnumeric_limits<int>::max();int prevnumeric_limits<int>::min()100000;int minDiffInBST(TreeNode* root) {inorderTraversa…

【创新项目探索】大数据服务omnidata-hive-connector介绍

omnidata-hive-connector介绍 omnidata-hive-connector是一种将大数据组件Hive的算子下推到存储节点上的服务&#xff0c;从而实现近数据计算&#xff0c;减少网络带宽&#xff0c;提升Hive的查询性能。目前支持Hive on Tez。omnidata-hive-connector已在openEuler社区开源。 …