地图导航ios(url)

8 篇文章 1 订阅
3 篇文章 0 订阅

   //腾讯

    NSString * tencentAddressUrl = [[NSStringstringWithFormat:@"qqmap://map/routeplan?type=walk&from=%@&to=%@&policy=1&referer=%@",mb.start, mb.end,_appName]stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSetURLQueryAllowedCharacterSet]];

    //苹果

    NSString *appleAddressUrl = [[NSStringstringWithFormat:@"http://maps.apple.com/?saddr=%@&daddr=%@&dirflg=w",_start, mb.end] stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSetURLQueryAllowedCharacterSet]];

    //百度

    NSString *baiduAddressUrl = [[NSStringstringWithFormat:@"baidumap://map/direction?origin=%@&destination=%@&mode=walking&region=%@&src=%@",mb.start, mb.end,_city,_appName]stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSetURLQueryAllowedCharacterSet]];

    //高德

    NSString *gaodeAddressUrl = [[NSStringstringWithFormat:@"iosamap://path?sourceApplication=%@&sid=BGVIS1&sname=%@&did=BGVIS2&dname=%@&dev=0&m=2&t=2",_appName,mb.start,mb.end]stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSetURLQueryAllowedCharacterSet]];

    //谷歌

    NSString *googleAddressUrl = [[NSStringstringWithFormat:@"comgooglemaps://?x-source=%@&x-success=%@&saddr=%@&daddr=%@&directionsmode=bicycling",_appName,_urlScheme,mb.start, mb.end] stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSetURLQueryAllowedCharacterSet]];


//跳转到应用外地图导航

 [[UIApplicationsharedApplication] openURL:[NSURLURLWithString:urlString]];



在uniapp中实现地图导航的逻辑可以使用高德地图、腾讯地图和百度地图。在代码中,你可以使用不同的URL链接来打开相应的地图导航应用或网页进行导航。如果用户未安装对应的地图应用,你可以通过打开浏览器网页版来进行导航。 下面是一个示例代码: ```javascript // 导航函数,根据经纬度和地点名称打开地图导航 openNavigation(longitude, latitude, name) { let url = ""; // app url let webUrl = ""; // web url plus.nativeUI.actionSheet({ // 选择菜单 title: "选择地图应用", cancel: "取消", buttons: [{title: "高德地图"} // 可选的地图类型 }, (e) => { // 判断用户选择的地图 switch (e.index) { case 1: // 高德地图 if (plus.os.name == "Android") { // 安卓 url = `androidamap://viewMap?sourceApplication=appname&poiname=${name}&lat=${latitude}&lon=${longitude}&dev=0`; } else { // iOS url = `iosamap://viewMap?sourceApplication=applicationName&poiname=${name}&lat=${latitude}&lon=${longitude}&dev=0`; } webUrl = `https://uri.amap.com/marker?position=${longitude},${latitude}&name=${name}&src=mypage&coordinate=gaode`; break; } // 如果选中 if (url != "") { url = encodeURI(url); // 打开 app 导航 plus.runtime.openURL(url, (err) => { // 失败回退到打开网页版进行导航 plus.runtime.openURL(webUrl); }); } }) } ``` 在这个示例中,你可以根据需要添加其他地图应用的URL链接,比如腾讯地图和百度地图URL链接。这样,用户就可以根据自己的喜好选择使用哪个地图应用进行导航。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [uniapp map 制作一个简单的地图导航](https://blog.csdn.net/qq_43402051/article/details/124506948)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值