我的GoogleMap API for Android組件MyLocationOverlay出現問題。我希望每次設備位置更改(並且用戶位置離開可見部分或地圖)時關閉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
或沒有選擇。
- 我不期而遇發現一種解決方法通過與到super.drawMyLocation沒有呼叫()解決recentering地圖(不期望的「特徵」關閉)的問題重寫方法drawMyLocation()。但是我必須重新實現drawMyLocation()方法,因此更改默認appearence(和花費時間......)
也許有一個更明確的解決方案嗎?
您可以發佈您的解決方案作爲對本文的答覆 – HitOdessit 2012-11-01 15:34:37