uniapp 移動端app調用高德,百度,騰訊地圖


本實例鏈接https://blog.csdn.net/weixin_44599931/article/details/109000497

toMapAPP(latitude,longitude,name){
                let url = "";
                if (plus.os.name == "Android") {//判斷是安卓端
                    plus.nativeUI.actionSheet({//選擇菜單
                        title: "選擇地圖應用",
                        cancel: "取消",
                        buttons: [{title: "騰訊地圖"},{title: "百度地圖"}, {title: "高德地圖"}]
                    }, function(e) {
                        switch (e.index) {
                            //下面是拼接url,不同系統以及不同地圖都有不同的拼接字段
                            case 1:
                                //注意referer=xxx的xxx替換成你在騰訊地圖開發平台申請的key
                                url = `qqmap://map/geocoder?coord=${latitude},${longitude}&referer=xxx`;
                                break;
                            case 2:
                                url = `baidumap://map/marker?location=${latitude},${longitude}&title=${name}&coord_type=gcj02&src=andr.baidu.openAPIdemo`;
                                break;
                            case 3:
                                url = `androidamap://viewMap?sourceApplication=appname&poiname=${name}&lat=${latitude}&lon=${longitude}&dev=0`;
                                break;
                            default:
                                break;
                        }
                        if (url != "") {
                            url = encodeURI(url);
                            //plus.runtime.openURL(url,function(e){})調起手機APP應用
                            plus.runtime.openURL(url, function(e) {
                                plus.nativeUI.alert("本機未安裝指定的地圖應用");
                            });
                        }
                    })
                } else {
                    // iOS上獲取本機是否安裝了百度高德地圖,需要在manifest里配置
                    // 在manifest.json文件app-plus->distribute->apple->urlschemewhitelist節點下添加
                    //(如urlschemewhitelist:["iosamap","baidumap"])  
                    plus.nativeUI.actionSheet({
                        title: "選擇地圖應用",
                        cancel: "取消",
                        buttons: [{title: "騰訊地圖"},{title: "百度地圖"}, {title: "高德地圖"}]
                    }, function(e) {
                        switch (e.index) {
                            case 1:
                                url = `qqmap://map/geocoder?coord=${latitude},${longitude}&referer=xxx`;
                                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("本機未安裝指定的地圖應用");
                            });
                        }
                    })
                }
            },

復制粘貼即可用,


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM