朋友们,
当我的位置相同时,我注意到一件事 MyLocationOverlay 标记未显示在屏幕上。
当我更改模拟器位置值时,我已经对其进行了测试,它出现在屏幕上我转到下一页然后再次进入同一页面并且它没有显示。是的,当我更改位置值时它再次出现。如果位置发生变化,我想始终显示它,或者没有任何人指导我如何?
这是我的代码
onCreate()
{
myLocOverlay = new MyLocationOverlay(this, mapView);
myLocOverlay.enableMyLocation();
mapView.getOverlays().add(myLocOverlay);
mapView.postInvalidate();
zoomToMyLocation();
}
@Override
protected void onPause() {
super.onPause();
if (myLocOverlay != null)
myLocOverlay.disableMyLocation();
}
@Override
public void onResume() {
if (myLocOverlay != null)
myLocOverlay.enableMyLocation();
super.onResume();
}
private void zoomToMyLocation() {
GeoPoint myLocationGeoPoint = myLocationOverlay.getMyLocation();
if(myLocationGeoPoint != null) {
mapView.getController().animateTo(myLocationGeoPoint);
mapView.getController().setZoom(10);
}
else {
Toast.makeText(this, "Cannot determine location", Toast.LENGTH_SHORT).show();
}
}