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>
AlipayJSBridge.call('startContinuousLocation', {
bizType, callbackInterval, isNeedSpeed
}, fn)
名称 | 类型 | 描述 | 必选 | 默认值 | 版本 | |
---|---|---|---|---|---|---|
bizType | string | 业务方标识,要求能够唯一标识使用方的字符串 | Y | 10.0.18 | ||
isNeedSpeed | string | 是否需要速度 | N | 默认是false | 10.0.18 | |
callbackInterval | long | 持续回调间隔时间(毫秒) | N | 默认是2000毫秒 | 10.0.18 | |
fn | function | 定位完成后被调用的回调函数 | N | 10.0.18 |
成功后,回调函数带入的参数result: {latitude, longitude, accurary, speed}
名称 | 类型 | 描述 | 版本 |
---|---|---|---|
latitude | double | 纬度 | 10.0.18 |
longitude | double | 经度 | 10.0.18 |
accurary | int | 精确度,单位m | 10.0.18 |
speed | float | 获取当前速度(单位:米/秒) | 10.0.18 |
失败后,回调函数带入的参数result: {error, errorMessage}
类型 | 描述 | 版本 |
---|---|---|
error(int) | errorMessage(string) | 版本 |
12 | GPS打开,但定位失败 | 10.0.18 |
13 | 获取地理位置信息失败 | 10.0.18 |
14 | 定位超时 | 10.0.18 |
15 | 网络错误 | 10.0.18 |
bizType是必填的入参
不调用时,要及时调用stopContinuousLocation 停止持续定位