android手机才出现该问题。
手机:vivo 系统:android 8.1.0
手机:红米 系统:MIUI 9 7.9.21
ios没有问题
问题:
map.showUserLocation(true); 在app多次退出重启的情况下有时候显示有时候不显示用户的位置,显示时候能正常获取到定位数据,不显示的时候定位没有回调,把provider改为‘system’的时能够在showUserLocation异常的时候获取到定位数据。
代码如下:
(该方法在初始化的时候调用一次,然后通过按钮点击事件使用计时器循环调用plus.geolocation.getCurrentPosition,初始化的时候能正常获取到回调,第二次即开启计时器后回调不了)
function showLocation () {
plus.geolocation.getCurrentPosition(function(position) {
var point = new plus.maps.Point(position.coords.longitude, position.coords.latitude);
/*var marker = new plus.maps.Marker(point);
marker.setIcon(currIcon);
map.addOverlay(marker);*/
//console.log(JSON.stringify(position));
map.showUserLocation(true);
map.centerAndZoom(point, zoomLevel);
}, function(e) {}, {
provider: "baidu",
enableHighAccuracy: true,
coordsType: "bd09ll",
geocode: false
});
}
1 个回复
DCloud_App_Array
showUserLocation不显示用户位置说明当前无法获取到定位数据,获取位置信息是需要联网操作(百度地图或定位需要连百度的服务器),确认是否网络出现问题导致无法定位。