uniapp app端调起google地图app,传参导航到对应位置

该博客介绍了如何在Android和iOS平台上通过代码调用Google Maps进行导航,当用户设备上没有安装Google Maps时,提示用户从应用市场下载。代码示例展示了如何根据设备类型构建导航URL并处理未安装应用的情况。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

主要功能:app内调起google地图app,传递终点经纬度,并导航到终点

效果图

1.代码

/**
    latLng   String   例如:'31.1443439,121.808273'
 */
navGoogleMap(latLng) {
	let that = this
	// 应用地址
	let url = ''
	// android 包名
	let pname = ''
	// ios id
	let appid
	if (plus.os.name == 'Android') {
		plus.nativeUI.actionSheet({
			title: '选择地图应用',
			cancel: '取消',
			buttons: [{
				title: '谷歌地图'
			}]
		}, function(e) {
			switch (e.index) {
				case 1:
					url = 'google.navigation:q=' + latLng
					pname = 'com.android.vending'
					break;
			}
			if (url) {
				plus.runtime.openURL(url, function() {
					plus.nativeUI.actionSheet({
						title: '应用市场',
						cancel: '取消',
						buttons: [{
							title: '应用市场'
						}]
					}, function({
						index
					}) {
						switch (index) {
							case 1:
								plus.runtime.openURL('market://details?id=' + pname,
									function() {
										plus.nativeUI.alert('本机未安装指定的应用');
									})
						}
					})
				});
			}
		});
	} else {
		plus.nativeUI.actionSheet({
			title: '选择地图应用',
			cancel: '取消',
			buttons: [{
				title: '谷歌地图'
			}]
		}, function(e) {
			switch (e.index) {
				case 1:
					url = 'comgooglemaps://?saddr=&daddr=' + latLng
					appid = 585027354
					break;
				default:
					break;
			}
			if (url != '') {
				plus.runtime.launchApplication({ action: url }, function(err) {
					plus.nativeUI.actionSheet({
						title: '应用市场',
						cancel: '取消',
						buttons: [{
							title: '应用市场'
						}]
					}, function({
						index
					}) {
						switch (index) {
							case 1:
								plus.runtime.openURL(
									`itms-apps://itunes.apple.com/cn/app/id${appid}?mt=8')`,
									function() {
										plus.nativeUI.alert('本机未安装指定的应用');
									})
						}
					})
				});
			}
		});
	}
}

 

开发流程:

1.首先判断手机版本 android、ios

2.点击跳转google地图app时,如果手机有google地图app,会直接跳转,如果没有这个app,会进入回调函数,在这里面提示让客户去应用市场下载google地图app,如图

 3.先写到这里。。。

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值