6***@qq.com
6***@qq.com
  • 发布:2018-12-20 11:21
  • 更新:2022-04-13 17:56
  • 阅读:5392

IOS端 uni.openLocation如何调用高德地图,而不是苹果自带的简版高德地图

分类:uni-app

IOS端 uni.openLocation接口查看位置,然后调用第三方导航,如何跳转到自己安装的高德APP,而不是苹果系统自带的简版高德地图

2018-12-20 11:21 负责人:无 分享
已邀请:
回梦無痕

回梦無痕 - 暂停服务

APP和H5端可以使用scheme方式唤醒高德地图进行导航
iosamap://navi?sourceApplication=applicationName&poiname=fangheng&poiid=BGVIS&lat=36.547901&lon=104.258354&dev=1&style=2
高德地图相关文档

  • 6***@qq.com (作者)

    感谢大神的帮助,可以打开了

    2018-12-20 22:15

  • 8***@qq.com

    回复 6***@qq.com:你是怎么显示的第三方的地图导航的啊?我这openLocation点击去这里只显示Apple地图的

    2019-03-29 16:10

1***@qq.com

1***@qq.com - 热衷新技术

你是怎么显示的第三方的地图导航的啊?我使用openLocation,点击去这里 只显示Apple地图的

1***@qq.com

1***@qq.com - 热衷新技术

解决方案如下:

复制代码// 导航  
navigationTo(item) {  
    //打开第三方地图  
    const latitude = Number(item.latitude)  
    const longitude = Number(item.longitude)  
    if (plus.os.name == 'Android') {  
        uni.openLocation({  
            latitude: latitude,  
            longitude: longitude,  
            name: item.siteDetail,  
            scale: 12,  
            success() {  
                console.log('success')  
            }  
        })  
    } else { // ios默认打开高德地图  
        this.iosOpenMap(latitude, longitude, item.siteDetail)  
    }  
},  
iosOpenMap(latitude, longitude, name) {  
    let url = ''  
    plus.nativeUI.actionSheet({  
        title: "选择地图应用",  
        cancel: "取消",  
        buttons: [{  
            title: "高德地图"  
        }]  
    }, function(e) {  
        switch (e.index) {  
            case 1:  
                url =  
                    `iosamap://viewMap?sourceApplication=applicationName&poiname=${name}&lat=${latitude}&lon=${longitude}&dev=0`;  
                break;  
            default:  
                break;  
        }  
        if (url != "") {  
            url = encodeURI(url);  
            plus.runtime.openURL(url, function(e) {  
                plus.nativeUI.alert("本机未安装指定的地图应用");  
            });  
        }  
    })  
},

需要注意:
iOS上获取本机是否安装了百度高德地图,需要在manifest里配置,在manifest.json文件app-plus->distribute->ios-urlschemewhitelist节点下添加 "iosamap"

该问题目前已经被锁定, 无法添加新回复

  • 标题 / 粗斜体
  • 代码片段
  • 超链接 / 图片 / 视频
  • 列表 / 引用

文章内容较多时,可以用标题分段 :

## 大标题 
### 小标题

斜体 / 粗体 :

**粗体** 
*斜体*
***粗斜体***

代码片段 :

``` javascript
代码片段
```

超链接 :

[链接文字](链接地址) 例: [百度](http://www.baidu.com)

图片 :

![图片说明](图片地址) 例: ![百度logo](http://www.baidu.com/img/bdlogo.gif)

视频 :

!![视频说明](视频地址) 例: !![优酷视频](http://youku.com)

有序列表 :

1. 123
2. 123
3. 123

无序列表 :

- 123
- 123
- 123

引用 : ( 双回车后结束引用 )

> 引用内容
引用内容
引用内容