JSAPI

  • 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同中国标准身份证号前六位地区码