getCurrentLocation 获取地理位置信息

优质
小牛编辑
146浏览
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>
查看演示 扫码查看 用支付宝扫码运行

参数说明

入参

名称类型描述必选缺省值最小版本
bizTypestring业务唯一标识(请联系 @学涯 进行报备)Y10.0.18
requestTypeint0, 只获取经纬度
1, 获取经纬度和详细到区县级别的逆地理
2, 获取经纬度和详细到街道级别的逆地理 不推荐
3, 获取经纬度和详细到POI级别的逆地理 不推荐
N010.0.18
cacheTimeoutint可接受的缓存时间,单位秒N30s10.0.18
timeoutint超时时间,单位秒,两平台定位机制不同,缺省值也不同Nandroid: 10s
ios: 2s
10.0.18
fnfunction定位结果的回调函数N10.0.18

出参

回调函数 fn 的入参对象(其中省市等行政区划代码是蚂蚁统一的,这部分数据目前是高德16年Q4的数据,蚂蚁这里会不定期更新高德数据)

名称类型描述最小版本
errorint11, 请确认定位相关权限已开启
12, 网络异常,请稍后再试
13, 定位失败,请稍后再试
14, 业务定位超时
10.0.18
errorMessagestring默认的错误文案,使用前需PD确认10.0.18
latitudedouble纬度,GCJ02 标准,适用国内地图10.0.18
longitudedouble经度,GCJ02 标准,适用国内地图10.0.18
accuracyfloat准确度,单位m10.0.18
countrystring国家名称 (需匹配requestType)10.0.18
countryCodestring国家编号 (需匹配requestType)10.0.18
provincestring省份名称 (需匹配requestType)10.0.18
citystring城市名称 (需匹配requestType)
建议 result.city ? result.city : result.province
10.0.18
cityAdcodestring城市adcode (需匹配requestType)10.0.18
districtstring区县名称 (需匹配requestType)10.0.18
districtAdcodestring区县adcode (需匹配requestType)10.0.18
streetNumberobject街道门牌信息 (需匹配requestType),结构 {street, number}10.0.18
poisarray附近POI信息 (需匹配requestType),结构 [{name, address}]10.0.18

注意事项

  • 入参的 bizType 必填
  • 暂不能提供省份信息,有需求可沟通
  • cityAdcode, districtAdcode同中国标准身份证号前六位地区码