-
使用方法
在需要获取位置信息的地方直接使用以下代码:
baidu_location.getCurrentPosition(function ( message ) { console.debug(message); }, function ( message ) { console.debug(message); });
function successCallback(data){
console.log("lontitude:" + data.longitude);
console.log("latitude:" + data.latitude);
// alert(data.longitude);
//更新操作
// console.log("time:" + data.time);
console.log("describe:" + data.describe);
// alert("successCallback");
};
function failedCallback(data){
// 失败的提示操作
alert("failedCallback");
};
baidu_location.watchPosition(successCallback, failedCallback,10);
//第一个函数是成功的回调,第二个是失败的回调。
4.注意事项
a).此插件只能在手机端测试,我的模拟器也无法定位。web更不可能,会出现baidu_location 没有被定义的问题。
b).要先ionic remove platform android
然后再执行ionic platform add android命令,不然插件不能正确的执行,事实上,每一次修改插件的内容,都要执行上面的两个操作,才能使插件正常运行.
c).如果你使用sdk23版本进行打包的,你就要注意了,在最新的android6.0上面,和以前的权限授权机制已经不同,如果使用23版本的进行打包。
d).在android6.0以上的手机上运行不会给出获取地理位置权限的弹窗,务必改为23以下的版本进行编译获取成功的话,默认是只给出经纬度信息的,如果要获取定位的地址的具体信息,要在插件里面的BaiduLocation.java
文件把 option.setIsNeedAddress(false);
改为 option.setIsNeedAddress(true);
e).默认返回的是一个字符串,对于现在json这么流行的情况下,当然是获得json格式的数据比较让人喜欢,这个时候坐着已经替我们封装好了,只需要在BaiduLocation.java
文件中把 PluginResult pluginResult = new PluginResult(PluginResult.Status.OK, sb.toString());
改为 PluginResult pluginResult = new PluginResult(PluginResult.Status.OK, json.toString());,你就可以获得一个json格式的字符串了