У меня проблема с компонентом GoogleMap API для Android MyLocationOverlay. Я хочу отключить функцию автоматического приема MyLocationOverlay (для текущего местоположения пользователя) каждый раз, когда местоположение устройства изменяется (и местоположение пользователя выходит за пределы видимой части или карты).
Кажется, нет флага для отключения функции автоцентрирования нежелательных карт, когда местоположение пользователя выходит за пределы экрана
, например
public class LocationTest extends MapActivity{
private MapView map;
private MapController controller;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
map = (MapView) findViewById(R.id.map);
final MyLocationOverlayUpdate overlay = new MyLocationOverlayUpdate(this, map);
overlay.enableMyLocation();
map.getOverlays().add(overlay);
}
@Override
protected boolean isRouteDisplayed() {
return false;
}
}
public class MyLocationOverlayUpdate extends MyLocationOverlay {
public MyLocationOverlayUpdate(Context context, MapView mapView) {
super(context, mapView);
}
public void drawMyLocation(Canvas canvas, MapView mapView,
Location location, GeoPoint geoPoint, long when) {}
}
Я посмотрел в сети эту проблему, но не нашел предложенного решения.
Найдена дополнительная информация:
Я полагаю, что документация неверна, содержит ошибки или просто устарела:
Дополнительно, конструктор также может взять MapController и использовать его для сохранения
точка «Мое местоположение» отображается при панорамировании карты, когда она выходит за пределы экрана
потому что нет конструктора, принимающего MapController в качестве аргумента, и кажется, что у меня нет выбора по keeping the "my location" dot visible
или нет.
- Я случайно нашел обходной путь путем переопределения метода drawMyLocation () без вызова super.drawMyLocation () решает проблему повторного центрирования карты (нежелательная «функция» отключается). Однако я должен переопределить метод drawMyLocation (), поэтому меняю внешний вид по умолчанию (и тратить время ...)
Может есть более понятное решение?