帖子
帖子
用户
博客
课程
显示全部楼层
13
帖子
0
勋章
129
Y币

[FAQ] appInstalled判断百度地图是否安装,ios的appBundle是什么呀

[复制链接]
发表于 2016-9-3 11:11:54
已经找好久了,一直没有找到,安卓的是com.baidu.BaiduMap,但是ios判断为未安装
68
帖子
1
勋章
292
Y币
var baiduNavigation = api.require('baiduNavigation');
            function obdmap(_start, _end) {
                var androidPkg = "com.baidu.BaiduMap";
                var iosUrl = "baidumap://map/direction";
                var appBundle = androidPkg;
                if (MainClass.isIOS()) {
                    appBundle = iosUrl;
                }
                var appParam = {
                    origin : _start.lat+","+_start.lon,
                    destination : _end.lat+","+_end.lon,
                    mode : trafficType,
                    src : api.appName
                };
                var urlencode = function(data){
                    var _result = [];
                    for (var key in data){
                        var value = data[key];
                        if (value.constructor == Array){
                            value.forEach(function(_value){
                                _result.push(key + "=" + _value);
                            });
                        }else{
                            _result.push(key + '=' + value);
                        }
                    }
               
                    return _result.join('&');
                }
                api.appInstalled({
                    appBundle : appBundle
                }, function(ret, err) {
                    if (ret.installed) {
                        //应用已安装
                        api.openApp({
                        androidPkg: 'android.intent.action.VIEW' ,
                        appParam:appParam,
                        uri:'intent://map/direction?'+urlencode(appParam)+'#Intent;scheme=bdapp;package='+androidPkg+';end',
                        iosUrl:iosUrl
                        },function(ret, err) {
                            if(ret){
                                MainClass.log(ret);
                            }else{
                                MainClass.log(err);
                                //应用不可以调开
                                startNavigation(_start, _end);
                            }
                        });
                    } else {
                        //应用未安装
                        startNavigation(_start, _end);
                    }
                });
            }

这是我的方法,你自己修改下
13
帖子
0
勋章
129
Y币
Madision 发表于 2016-9-3 12:02
var baiduNavigation = api.require('baiduNavigation');
            function obdmap(_start, _end) {
   ...

好的,谢谢哦
您需要登录后才可以回帖 登录

本版积分规则