uniapp安卓移动端携带经纬度跳转高德地图或百度地图并直接导航

本文介绍了如何通过JavaScript检测用户手机上是否安装了高德地图或百度地图,如果安装,则利用API调用相应的应用进行驾车模式导航,否则提示无法导航。
摘要由CSDN通过智能技术生成

这段代码第一个判断是检测用户手机是否有安装高德地图

有则跳转高德地图app并用携带的经纬度使用驾车模式导航

把下面url链接里这两个字段替换成你的经纬度就可以唤起了并使用驾车模式导航

roundedLongitude:经度

roundedLatitude:维度

高德url链接里的t=0是驾车模式,改成1是公交模式,2是步行模式,具体需要哪个自行测试后修改

----------------------------------------------------------------------------------偏右分割线----------------------------

第二个判断是检测你手机里是否有安装百度地图

有则直接跳转百度地图app并用携带的经纬度使用驾车模式直接导航

把下面url链接里这两个字段替换成你的经纬度就可以唤起了并使用驾车模式导航

roundedLongitude:经度

roundedLatitude:维度

					if (plus.runtime.isApplicationExist({ pname: 'com.autonavi.minimap', action: 'iosamap://' })) {
						let url = `amapuri://route/plan?sourceApplication=yourAppName&dlat=${roundedLongitude}&dlon=${roundedLatitude}&dev=0&t=0&style=0&start=&auto=1&rtdType=1`;
						plus.runtime.openURL(url);
					} else if (plus.runtime.isApplicationExist({ pname: 'com.baidu.BaiduMap', action: 'baidumap://' })) {
						let url = `baidumap://map/direction?destination=${roundedLongitude},${roundedLatitude}&mode=navigation&output=html`;
						plus.runtime.openURL(url);
					} else {
						uni.showToast({
							title: '当前未安装 高德地图或百度地图 无法导航',
							icon: 'none',
							duration: 3000
						});
					}
  • 8
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
要在 Uniapp 移动端应用中获取定位并在地图上显示当前位置,可以使用以下步骤: 1. 在项目中引入地图 SDK(如百度地图 SDK、高德地图 SDK 等),并按照相应的文档进行配置。 2. 在页面中创建地图组件,并设置地图的初始中心点和缩放级别。 3. 在页面中添加获取定位的按钮,并在按钮的点击事件中调用定位 API 来获取当前位置的经纬度信息。 4. 将获取到的经纬度信息传递给地图 SDK,并使用 SDK 提供的接口在地图上添加当前位置的标记。 以下是一个简单的示例代码: ``` <template> <view> <map :longitude="longitude" :latitude="latitude" :scale="scale" @markertap="onMarkerTap"></map> <button @tap="getLocation">获取位置</button> </view> </template> <script> export default { data() { return { longitude: 0, // 地图中心点的经度 latitude: 0, // 地图中心点的纬度 scale: 16, // 地图的缩放级别 } }, methods: { // 获取定位信息 getLocation() { uni.getLocation({ type: 'gcj02', // 使用国测局坐标系 success: res => { this.longitude = res.longitude this.latitude = res.latitude // 在地图上添加当前位置的标记 uni.addMapMarkers({ id: 0, longitude: res.longitude, latitude: res.latitude, title: '当前位置', iconPath: '当前位置的图标路径', width: 32, height: 32, callout: { content: '当前位置', fontSize: 14, bgColor: '#ffffff', padding: 8, borderRadius: 4, display: 'ALWAYS' } }) }, fail: res => { uni.showToast({ title: '获取位置失败', icon: 'none' }) } }) }, // 点击标记时的事件处理函数 onMarkerTap(e) { uni.showToast({ title: '你点击了当前位置', icon: 'none' }) } } } </script> ``` 需要注意的是,在使用定位 API 时,需要在 `manifest.json` 文件中声明相关权限(如 `location`)。另外,在添加标记时,需要指定标记的图标路径和样式,并可以添加一个气泡提示框来显示标记的信息。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值