美文网首页
uniapp-打开第三方地图

uniapp-打开第三方地图

作者: 葶子123 | 来源:发表于2020-05-18 11:05 被阅读0次

前言:最近做一款外卖配送的应用,需要直接打开第三方地图,简单记录下

  • 需要条件编译哦,只有app端可以呀,小程序不支持哦
  • 小程序的打开第三方地图需要依托于uni.openLocation,不过这样会先打开地图页,然后右下角会有选择打开第三方图片的按钮
//打开第三方地图
export function openMap(latitude,longitude,name){
    let url = "";
    if (plus.os.name == "Android") {
        let hasBaiduMap = plus.runtime.isApplicationExist({
            pname: 'com.baidu.BaiduMap',
            action: 'baidumap://'
        });
        let hasAmap = plus.runtime.isApplicationExist({
            pname: 'com.autonavi.minimap',
            action: 'androidamap://'
        });
        let urlBaiduMap = `baidumap://map/marker?location=${latitude},${longitude}&title=${name}&coord_type=gcj02&src=andr.baidu.openAPIdemo`
        urlBaiduMap = encodeURI(urlBaiduMap)
        let urlAmap = `androidamap://viewMap?sourceApplication=appname&poiname=${name}&lat=${latitude}&lon=${longitude}&dev=0`
        urlAmap = encodeURI(urlAmap)
        if (hasAmap && hasBaiduMap) {
            plus.nativeUI.actionSheet({
                title: "选择地图应用",
                cancel: "取消",
                buttons: [{
                    title: "百度地图"
                }, {
                    title: "高德地图"
                }]
            }, function(e) {
                switch (e.index) {
                    case 1:
                        plus.runtime.openURL(urlBaiduMap);
                        break;
                    case 2:
                        plus.runtime.openURL(urlAmap);
                        break;
                }
            })
        } else if (hasAmap) {
            plus.runtime.openURL(urlAmap);
        } else if (hasBaiduMap) {
            plus.runtime.openURL(urlBaiduMap);
        } else {
            plus.nativeUI.alert("本机未安装指定的地图应用");
            // url = "geo:"+latitude+","+longitude+"?q=%e6%95%b0%e5%ad%97%e5%a4%a9%e5%a0%82";
            // plus.runtime.openURL(url); //如果是国外应用,应该优先使用这个,会启动google地图。这个接口不能统一坐标系,进入百度地图时会有偏差  
        }
    } else {
        // iOS上获取本机是否安装了百度高德地图,需要在manifest里配置,在manifest.json文件app-plus->distribute->apple->urlschemewhitelist节点下添加(如urlschemewhitelist:["iosamap","baidumap"])  
        plus.nativeUI.actionSheet({
            title: "选择地图应用",
            cancel: "取消",
            buttons: [{
                title: "Apple地图"
            }, {
                title: "百度地图"
            }, {
                title: "高德地图"
            }]
        }, function(e) {
            console.log("e.index: " + e.index);
            switch (e.index) {
                case 1:
                    url = `http://maps.apple.com/?q=%e6%95%b0%e5%ad%97%e5%a4%a9%e5%a0%82&ll=${latitude},${longitude}&spn=0.008766,0.019441`;
                    break;
                case 2:
                    url = `baidumap://map/marker?location=${latitude},${longitude}&title=${name}&content=${name}&src=ios.baidu.openAPIdemo&coord_type=gcj02`;
                    break;
                case 3:
                    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("本机未安装指定的地图应用");
                });
            }
        })
    }
}

相关文章

  • uniapp-打开第三方地图

    前言:最近做一款外卖配送的应用,需要直接打开第三方地图,简单记录下 需要条件编译哦,只有app端可以呀,小程序不支...

  • 开发问题笔记(十三)

    目录 1.App内打开第三方地图进行导航 1.App内打开第三方地图进行导航 App内打开第三方地图进行导航;举例...

  • iOS在应用内打开第三方地图

    比较常用的第三方地图有: 高德地图 百度地图 腾讯地图 Apple地图 在应用内打开外部第三方地图,可以打开外部地...

  • iOS在应用内打开第三方地图

    比较常用的第三方地图有: 高德地图 百度地图 腾讯地图 Apple地图 在应用内打开外部第三方地图,可以打开外部地...

  • 地图导航

    URI跳转方式地图导航的代码实践iOS调用第三方地图路线导航IOS实现应用内打开第三方地图app进行导航 高德 i...

  • iOS应用中打开第三方地图

    在项目中,遇到了应用中打开第三方地图的功能,网上的文章几乎清一色的打开第三方地图并且导航,但我的项目中不需要导航的...

  • uniapp打开第三方地图

    打开第三方地图应用需传入latitude 和longitude ,name 直接上代码!!! toMapAPP(l...

  • 高德地图开发相关总结

    目录 1.坐标初始化方法2.打开第三方地图应用App进行导航及坐标转换3.地图最简单的定位及气泡图标展示4.地图路...

  • 地图

    Android调用第三方地图,高德地图,百度地图!

  • 打开第三方地图应用

    本文转自自:http://blog.csdn.net/riven_wn/article/details/52912...

网友评论

      本文标题:uniapp-打开第三方地图

      本文链接:https://www.haomeiwen.com/subject/wdfuohtx.html