1***@qq.com
1***@qq.com
  • 发布:2017-11-09 11:50
  • 更新:2017-11-09 13:39
  • 阅读:1898

APP想在iOS系统调用高德地图进行导航Object_C的代码如何转化成Nativejs

分类:Native.js
NSString *urlString = [[NSString stringWithFormat:@"iosamap://path?sourceApplication=%@&backScheme=%@&sname=%@&dname=%@&dev=0&m=0&t=0&sid=BGVIS1&did=BGVIS2&dlat=%lf&dlon=%lf",@"APP名称", @"iosamap", @"我的位置",目的地,endCoor.latitude, endCoor.longitude] stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];  

[[UIApplication sharedApplication]openURL:[NSURL URLWithString:urlString]];

[[UIApplication sharedApplication]openURL:[NSURL URLWithString:urlString]];  
这一句我知道可以转化成这样  
var UIApplication=plus.ios.importClass("UIApplication");  
var NSURL = plus.ios.importClass("NSURL");  
var app=UIApplication.sharedApplication();  

var urlString="";  
//就差这一段不知怎么转化 有大神能帮忙指点一下吗  

var dbScheme=NSURL.URLWithString(urlString);  
var install=app.openURL(dbScheme);  
2017-11-09 11:50 负责人:无 分享
已邀请:
回梦無痕

回梦無痕 - 暂停服务

就是拼接字符串。。你直接输入字符串就行了

"iosamap://path?sourceApplication=%@&backScheme=%@&sname=%@&dname=%@&dev=0&m=0&t=0&sid=BGVIS1&did=BGVIS2&dlat=%lf&dlon=%lf"  
填好上面%@这些字段就行了
  • 回梦無痕

    还有后面的%,总之就是吧这个url参数填完整就行了

    2017-11-09 12:16

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

    好的我试试,谢谢

    2017-11-09 12:19

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

    iosamap://path?sourceApplication=MyTest&backScheme=iosmap&sname=顺驰路&dname=北京通州区新华西街58号&dev=0&m=0&t=0&sid=BGVIS1&did=BGVIS2&dlat=39.90597&dlon=116.640592

    2017-11-09 12:38

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

    拼好了但是还是无法调用高德

    2017-11-09 12:39

  • 回梦無痕

    直接填写iosamap://是可以唤醒的,那么就确定了,是你后面的参数有不对的地方

    2017-11-09 12:58

  • 回梦無痕

    回复 回梦無痕:我这里用测试连接是可以唤醒并导航的。

    2017-11-09 13:02

1***@qq.com

1***@qq.com (作者)

//iOS跳转高德地图导航实现  
var UIApplication=plus.ios.importClass("UIApplication");  
var NSURL = plus.ios.importClass("NSURL");  
var app=UIApplication.sharedApplication();  
if(window.plus){  
        plus.geolocation.getCurrentPosition(function(p){  
            console.log("开始定位获取坐标");  
            var sourceApplication="MyTest";//你的应用名  
            var backScheme="iosmap";  
            var sname=p.addresses;//起点  
            var urlString="iosamap://path?sourceApplication="+sourceApplication+"&backScheme="+backScheme+"&sname="+sname+"&dname="+dname+"&dev=0&m=0&t=0&sid=BGVIS1&did=BGVIS2&dlat="+dlat+"&dlon="+dlon;  
            var encodeString=encodeURI(urlString);//需要编码一下  
            var dbScheme=NSURL.URLWithString(encodeString);  
            var install=app.openURL(dbScheme);  
            plus.ios.deleteObject(app);  

        },function(e){  
            console.log(e.message);  
        },{provider:"system"});  
    }  

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