startContinuousLocation 开启持续定位

优质
小牛编辑
135浏览
2023-12-01
Since 10.0.18

startContinuousLocation

startContinuousLocation 持续获取当前设备的经纬度信息
支持版本:从10.0.18开始

使用方法

AlipayJSBridge.call('startContinuousLocation', function(result) {
  alert(JSON.stringify(result));
});

代码演示

开启持续定位

<h1>点击开启持续定位</h1>
<a href="#" class="btn start">开启持续定位</a>
<a href="#" class="btn stop">停止持续定位</a>
<h5>请先点击开启持续定位,在点击停止持续定位,否则直接点击停止持续定位没有效果</h5>
<script>
function ready(callback) {
  // 如果jsbridge已经注入则直接调用
  if (window.AlipayJSBridge) {
    callback && callback();
  } else {
    // 如果没有注入则监听注入的事件
    document.addEventListener('AlipayJSBridgeReady', callback, false);
  }
}
ready(function() {
  document.querySelector('.start').addEventListener('click', function() {
    AlipayJSBridge.call('startContinuousLocation', { bizType: 'didi', callbackInterval: 5000 }, function (result) {
      if (result.error) {
        alert(result.errorMessage);
        return;
      }
      alert(JSON.stringify(result));
    });
  });

  document.querySelector('.stop').addEventListener('click', function() {
    AlipayJSBridge.call('stopContinuousLocation', function(result) {
      alert(JSON.stringify(result));
    });
  });
});
</script>
查看演示 扫码查看 用支付宝扫码运行

API

AlipayJSBridge.call('startContinuousLocation', {
  bizType, callbackInterval, isNeedSpeed
}, fn)
名称类型描述必选默认值版本
bizTypestring业务方标识,要求能够唯一标识使用方的字符串Y10.0.18
isNeedSpeedstring是否需要速度N默认是false10.0.18
callbackIntervallong持续回调间隔时间(毫秒)N默认是2000毫秒10.0.18
fnfunction定位完成后被调用的回调函数N10.0.18

出参

成功后,回调函数带入的参数result: {latitude, longitude, accurary, speed}

名称类型描述版本
latitudedouble纬度10.0.18
longitudedouble经度10.0.18
accuraryint精确度,单位m10.0.18
speedfloat获取当前速度(单位:米/秒)10.0.18

失败后,回调函数带入的参数result: {error, errorMessage}

类型描述版本
error(int)errorMessage(string)版本
12GPS打开,但定位失败10.0.18
13获取地理位置信息失败10.0.18
14定位超时10.0.18
15网络错误10.0.18

使用注意

  • bizType是必填的入参
  • 不调用时,要及时调用stopContinuousLocation 停止持续定位