com.kit.cordova.amaplocation-liugogal
v1.0.4
Published
Cordova Location Plugin Powerd by liugogal
Downloads
2
Maintainers
Readme
com.kit.cordova.amaplocation-liugogal
使用高德Android定位SDK进行定位,以解决webapp中定位不准的问题
安装
cordova plugin add com.kit.cordova.amaplocation-liugogal --variable API_KEY=XXXXXXXXX --save
cordova plugin add https://github.com/liugogal/com.kit.cordova.amaplocation --variable API_KEY=XXXXXXXXX --save
ps:API_KEY为在高德申请的key值
ps:此插件android定位功能使用高德定位,ios定位功能使用苹果系统自带的定位功能,所以只需要配置android key,不需要配置ios key
ionic1调用方法
document.addEventListener('deviceready', function(){
window.LocationPlugin.getLocation(successCallback,errorCallback);
}, false);
function successCallback(data) {
//data.longitude 经度
//data.latitude 纬度
//data.accuracy 返回定位精度半径
//data.address 返回地址的详细描述,包括省、市、区和街道
//data.floor 返回定位到的室内地图的楼层,如果不在室内或者无数据,则返回默认值null。
//data.province 返回定位位置的提供者名称。
//data.road 返回定位信息中道路名称,如“阜荣街”。
//data.speed 返回定位速度 ,单位:米/秒,如果此位置不具有速度,则返回0.0 。
//data.time 返回定位时间 ,毫秒时间(距离1970年 1月 1日 00:00:00 GMT的时间)
//data.hasAccuracy 获取定位精度状态
}
function errorCallback(msg) {
//高德定位SDK返回的错误代码编号
//响应码 说明
//0 正常,有返回结果
//21 IO 操作异常
//22 连接异常
//23 连接超时
//24 无效的参数
//25 空指针异常
//26 url 异常
//27 未知主机
//28 连接服务器失败
//29 通信协议解析错误
//30 http 连接失败
//31 未知的错误
//32 keykey 鉴权验证失败,请检查key绑定的sha1值、packageName与apk是否对应
//33 没有获取到定位权限,导致定位失败,请告知用户授予定位权限
//34 无法获取城市信息
console.log("错误消息:"+msg);
}
ionic2调用方法
import {Injectable} from '@angular/core';
declare var LocationPlugin;
@Injectable()
export class NativeService {
constructor() { }
/**
* 获得用户当前坐标
* @return {Promise<any>}
*/
getUserLocation(): Promise<any> {
return new Promise((resolve) => {
LocationPlugin.getLocation(data => {
resolve({'lng': data.longitude, 'lat': data.latitude});
}, msg => {
alert(msg.indexOf('缺少定位权限') == -1 ? ('错误消息:' + msg) : '缺少定位权限,请在手机设置中开启');
});
});
}
}