插件已经开源至
https://github.com/shenshouer/org.ssgroup.sope.cordova.baiduNavi
安装
因为github限制了上传文件的大小,最大为100MB,而百度导航sdk中的一个框架文件libbaiduNaviSDK.a超过了100MB。本仓库中已经删除了这个文件。
所以不能通过cordova plugin add 命令安装。
1、下载本项目到本地:
git clone https://github.com/shenshouer/org.ssgroup.sope.cordova.baiduNavi.git
2、下载百度sdk之后将libbaiduNaviSDK.a放置于src/ios/libs/BaiduNaviSDK/文件夹
3、在cordova项目文件夹下运行 cordova plugin add [下载到本地org.ssgroup.sope.cordova.baiduNavi的文件夹路径]
接口描写叙述
// 真实导航
startNavi: function(pointsInfo,onSuccess,onError){
exec(onSuccess, onError, "Baidu", "startNavi", [pointsInfo]);
},
// 開始模拟导航
// pointsInfo = {} //传递空就可以
simulateNavi: function(onSuccess,onError){
var pointsInfo = {};
exec(onSuccess, onError, "Baidu", "simulateNavi", [pointsInfo]);
}
模拟导航中不须要传入实际的開始坐标与结束地标,程序中已经写死。
真实导航中坐标数据格式例如以下:
var orderInfo = {
startPointX: "",
startPointY: "",
endPointX: "",
endPointY: ""
};
使用
1、使用xcode打开cordova生成的ios项目
2、在appDelegate.m文件里:
导入头文件 #import "BNCoreServices.h"
在- (BOOL)application:(UIApplication)application didFinishLaunchingWithOptions:(NSDictionary)launchOptions方法下加入:
[BNCoreServices_Instance initServices:@"你自己的key"];
[BNCoreServices_Instance startServicesAsyn:nil fail:nil];
在js中调用方法例如以下:
somai.baidu.startNavi(orderInfo, successhandler, errorhandler);
somai.baidu.simulateNavi(successhandler, errorhandler);
參考:https://github.com/shenshouer/NaviExample