getCurrentLocation 获取地理位置信息
优质
小牛编辑
140浏览
2023-12-01
Since 10.0.18
getCurrentLocation
新接口 getCurrentLocation
获取当前设备所在的地理位置信息,包括经纬度、准确度、逆地理编码、POI地址等,与此前 getLocation 老接口的参数和错误码定义 不 兼 容 !
使用方法
AlipayJSBridge.call('getCurrentLocation', {
cacheTimeout, requestType, timeout, bizType
}, function (result) {
alert(JSON.stringify(result));
});
代码演示
获取用户地址经纬度
<h1>点击获取用户所在地经纬度</h1>
<a href="#" class="btn read">点击获取定位信息</a>
<script>
function ready(callback) {
// 如果jsbridge已经注入则直接调用
if (window.AlipayJSBridge) {
callback && callback();
} else {
// 如果没有注入则监听注入的事件
document.addEventListener('AlipayJSBridgeReady', callback, false);
}
}
ready(function() {
document.querySelector('.read').addEventListener('click', function() {
AlipayJSBridge.call('getCurrentLocation', { bizType: 'didi' }, function(result) {
if (result.error) {
alert(result.errorMessage);
return;
}
alert(JSON.stringify(result));
});
});
});
</script>
查看演示 扫码查看 用支付宝扫码运行获取用户详细地理位置信息
<h1>点击获取详细地理位置信息</h1>
<a href="#" class="btn read">点击获取详细地理位置信息</a>
<script>
function ready(callback) {
// 如果jsbridge已经注入则直接调用
if (window.AlipayJSBridge) {
callback && callback();
} else {
// 如果没有注入则监听注入的事件
document.addEventListener('AlipayJSBridgeReady', callback, false);
}
}
ready(function() {
document.querySelector('.read').addEventListener('click', function() {
AlipayJSBridge.call('getCurrentLocation', { requestType: 2, bizType: 'didi' }, function(result) {
if (result.error) {
alert(result.errorMessage);
return;
}
alert(JSON.stringify(result));
});
});
});
</script>
查看演示 扫码查看 用支付宝扫码运行参数说明
入参
名称 | 类型 | 描述 | 必选 | 缺省值 | 最小版本 |
---|---|---|---|---|---|
bizType | string | 业务唯一标识(请联系 @学涯 进行报备) | Y | 10.0.18 | |
requestType | int | 0, 只获取经纬度 1, 获取经纬度和详细到区县级别的逆地理 2, 获取经纬度和详细到街道级别的逆地理 不推荐 3, 获取经纬度和详细到POI级别的逆地理 不推荐 | N | 0 | 10.0.18 |
cacheTimeout | int | 可接受的缓存时间,单位秒 | N | 30s | 10.0.18 |
timeout | int | 超时时间,单位秒,两平台定位机制不同,缺省值也不同 | N | android: 10s ios: 2s | 10.0.18 |
fn | function | 定位结果的回调函数 | N | 10.0.18 |
出参
回调函数 fn 的入参对象(其中省市等行政区划代码是蚂蚁统一的,这部分数据目前是高德16年Q4的数据,蚂蚁这里会不定期更新高德数据)
名称 | 类型 | 描述 | 最小版本 |
---|---|---|---|
error | int | 11, 请确认定位相关权限已开启 12, 网络异常,请稍后再试 13, 定位失败,请稍后再试 14, 业务定位超时 | 10.0.18 |
errorMessage | string | 默认的错误文案,使用前需PD确认 | 10.0.18 |
latitude | double | 纬度,GCJ02 标准,适用国内地图 | 10.0.18 |
longitude | double | 经度,GCJ02 标准,适用国内地图 | 10.0.18 |
accuracy | float | 准确度,单位m | 10.0.18 |
country | string | 国家名称 (需匹配requestType) | 10.0.18 |
countryCode | string | 国家编号 (需匹配requestType) | 10.0.18 |
province | string | 省份名称 (需匹配requestType) | 10.0.18 |
city | string | 城市名称 (需匹配requestType) 建议 result.city ? result.city : result.province | 10.0.18 |
cityAdcode | string | 城市adcode (需匹配requestType) | 10.0.18 |
district | string | 区县名称 (需匹配requestType) | 10.0.18 |
districtAdcode | string | 区县adcode (需匹配requestType) | 10.0.18 |
streetNumber | object | 街道门牌信息 (需匹配requestType),结构 {street, number} | 10.0.18 |
pois | array | 附近POI信息 (需匹配requestType),结构 [{name, address}] | 10.0.18 |
注意事项
- 入参的
bizType 必填
- 暂不能提供省份信息,有需求可沟通
cityAdcode
,districtAdcode
同中国标准身份证号前六位地区码