LocationDisplayManager lDisplayManager = null;
lDisplayManager = mMapView.getLocationDisplayManager();
lDisplayManager.setAutoPanMode(LocationDisplayManager.AutoPanMode.OFF);
lDisplayManager.setLocationListener(new LocationListener() {
@Override
public void onLocationChanged(Location location) {
double locy = location.getLatitude();
double locx = location.getLongitude();
SetMyLocationPoint(locx, locy);
}
@Override
public void onStatusChanged(String provider, int status, Bundle extras) {
}
@Override
public void onProviderEnabled(String provider) {
}
@Override
public void onProviderDisabled(String provider) {
}
});
使用上面的代码,我能够检索用户的当前位置并在Map上显示。它工作得很好,问题出现在用户从一个位置移动到另一个位置时,地图也会更新。在我的应用场景中,当使用点击LOCATE ME按钮时,该位置仅被提取一次,因为不需要从用户获得连续的位置。
我确实尝试过以下代码
this.lDisplayManager.stop();
mMapView.getLocationDisplayManager().stop();
lDisplayManager.setLocationListener(null);
以上代码有效,但我必须手动调用它们以停止继续位置更新。是否有任何替代方法只能一次获取位置而不是继续。