本文的目的是为了开发能够更好更快地将API集成到自己的项目中,在使用前最好先使用好我们提供的demo并对照文档运行看看效果。 这里可以【参考教程】下载AppCan IDE为开发者工具开发,然后集成到自己的项目上。 备注:
iOS应用需要配置隐私权限才能正常调用,参考【1.5、接口有效性】。
注:为了保证定位正确,从插件4.4.6版本开始必须在config.xml中配置百度地图的key。具体办法参考uexBaiduMap插件文档。
特殊说明Tips:注:Android版本(uexLocation)采用的坐标系为bd09(百度坐标系),iOS版本采用的坐标系为gcj02(中国国测局坐标系)。若需要统一坐标系,请将得到的坐标用convertLocation 方法进行转换,解决可能遇到的坐标偏移问题。
插件测试用例与源码下载:点击插件中心至插件详情页 (插件测试用例与插件源码已经提供)
本插件的所有API默认支持Android4.0+和iOS7.0+操作系统. 有特殊版本要求的API会在文档中额外说明.
本插件所有API默认在插件版本4.0.0+可用. 在后续版本中新添加的接口会在文档中额外说明. iOS隐私权限配置说明。
openLocation //打开定位功能,监听并返回设备所在地经纬度信息
uexLocation.openLocation(type,callBackFunction)
说明:
位置信息将通过手机GPS、WIFI或移动网络信号获取.成功打开定位功能时会执行回调方法,成功获取到位置信息时通过onChange回调方法返回,并通过type指定采用何种坐标系返回.
参数:
参数名称 | 参数类型 | 是否必选 | 说明 |
---|---|---|---|
type | String | 否 | 指定坐标系类型,"wgs84":采用世界标准经纬度坐标;"bd09":采用百度地图的经纬度坐标;"gcj02":采用高德地图的经纬度坐标.不传,iOS默认返回高德地图的经纬度坐标,Android默认返回百度地图的经纬度坐标 |
callBackFunction | Function | 是 | 回调函数,返回打开定位功能是否成功 |
回调参数:
var callBackFunction = function(error){
}
参数名称 | 参数类型 | 是否必选 | 说明 |
---|---|---|---|
error | Number | 是 | 为0时,打开定位成功;非0时,打开失败 |
示例:
uexLocation.openLocation("bd09",function(error) {
if(!error){
alert("打开成功");
}else{
alert("打开失败")
}
});
closeLocation //关闭定位功能
uexLocation.closeLocation()
说明:
关闭定位功能,不再监听位置信息.
参数:
无
示例:
uexLocation.closeLocation();
getAddressByType //根据经纬度获取对应的地址信息
uexLocation.getAddressByType(params, callbackFunction)
说明:
根据经纬度获取对应的地址信息,并通过type指定传入经纬度所采用坐标系类型,执行完成后会回调传入的函数callbackFunction
参数:
参数名称 | 参数类型 | 是否必选 | 说明 |
---|---|---|---|
params | Object | 是 | 接口所需数据 |
callbackFunction | Function | 是 | 获取地址成功后的回调函数,形式见下: |
var params = {
latitude: ,
longitude: ,
type: ,
flag:
}
各字段含义如下:
参数名称 | 参数类型 | 是否必选 | 说明 |
---|---|---|---|
latitude | Number | 是 | 纬度 |
longitude | Number | 是 | 经度 |
type | String | 否 | 指定传入经纬度所采用坐标系类型,"wgs84":采用世界标准经纬度坐标;"bd09":采用百度地图的经纬度坐标;"gcj02":采用高德地图的经纬度坐标.不传,iOS默认采用世界标准的经纬度坐标,Android默认采用百度地图的经纬度坐标 |
flag | Number | 是 | 值为1时返回地址详情(JSON格式), 非 1 时返回地址名称 |
回调参数:
var callbackFunction = function(error, data){}
参数名称 | 类型 | 说明 |
---|---|---|
error | Number | 0表示获取成功,非0表示获取失败 |
data | Json | 获取成功时的具体地址信息,flag非1时,返回地址名称字符串;为1时,返回Json对象,形式见下: |
var data = {
"formatted_address": "北京市海淀区海淀中街15号",
"location": {
"lat": 39.983197,
"lng": 116.317383
},
"addressComponent": {
"province": "北京市",
"street_number": "15号",
"district": "海淀区",
"street": "海淀中街",
"city": "北京市"
}
}
示例:
var callbackFunction = function (error, data) {
if(!error){
alert(JSON.stringify(data));
}else{
alert(error);
}
}
var params = {
latitude: 30.475798,
longitude: 114.402815,
type:"gcj02",
flag:2
};
uexLocation.getAddressByType(params,callbackFunction);
convertLocation //转换坐标
var data = uexLocation.convertLocation(params);
说明:
通过此方法转换坐标,支持同步返回.
参数:
参数名称 | 参数类型 | 是否必选 | 说明 |
---|---|---|---|
params | Json | 是 | 相关数据,形式见下: |
var params ={
latitude:,
longitude:,
from:,
to:
}
各字段含义如下:
参数名称 | 参数类型 | 是否必选 | 说明 |
---|---|---|---|
latitude | Number | 是 | 纬度 |
longitude | Number | 是 | 经度 |
from | String | 是 | 源坐标类型,具体含义请参考附录 |
to | String | 是 | 目的坐标类型,具体含义请参考附录 |
返回值:
Json对象,表示转换完成后的位置信息,形式如下:
var data = {
latitude:,
longitude:
}
示例:
var params = {
latitude:30.595997,
longitude:114.312047,
from:"wgs84",
to:"bd09"
};
var data = uexLocation.convertLocation(JSON.stringify(params));
var obj = JSON.parse(data);
alert(obj.latitude+","+obj.longitude);//同步返回json字符串
//alert(data);
onChange //设备位置变化的监听方法
uexLocation.onChange(lat, log)
说明:
设备位置变化的监听方法
参数:
参数名称 | 参数类型 | 是否必选 | 说明 |
---|---|---|---|
lat | Number | 是 | 纬度 |
log | Number | 是 | 经度 |
示例:
uexLocation.onChange = function(lat, log){
alert(lat + "," + log);
}
API版本: uexLocation-4.3.3
最近更新时间:2019-11-6
历史发布版本 | 更新内容 |
---|---|
4.3.3 | 修复getAddressByType接口在直辖市会崩溃的问题。 |
4.0.2.1 | 修复uexLocation.onChange经纬度参数返回问题。 |
4.0.2 | 修复openLocation回调问题。 |
API版本: uexLocation-4.4.6
最近更新时间:2019-12-18
历史发布版本 | 更新内容 |
---|---|
4.4.6 | 优化逆地理编码方法的实现。注:为了保证定位正确,本版本开始必须在config.xml中配置百度地图的key。具体办法参考uexBaiduMap插件文档。 |
4.4.5 | 更新带有so文件的第三方库。 |
4.3.2 | 添加动态权限申请。 |
4.0.2 | 提高定位服务的存活率 |
4.0.1 | 更换AppKey |
String | 说明 |
---|---|
wgs84 | GPS设备获取的角度坐标,世界标准地理坐标 |
bd09 | 百度地图采用的经纬度坐标 |
gcj02 | 高德地图、google地图、soso地图、aliyun地图、mapabc地图和amap地图所用坐标,中国国测局地理坐标 |