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);
上面的代码有效,但我必须手动调用它们以停止继续位置更新。有没有其他方法可以仅一次获取位置而不是 continue 。