와 안드로이드에서 유지 조각에 사라하지 않았다. 이 작업을 통해 화면 방향을 변경할 수 있습니다.검색 GPS 아이콘이는 상황 MyLocationOverlay (osmdroid)
이러한 조각 중 하나에는 osmdroid 라이브러리로 생성 된 mapView가 있으며이 조각은 유지됩니다 (setRetainInstance (true)).
이@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
fragmentView = (LinearLayout) inflater.inflate(R.layout.main,
container, false);
mapView = (MapView) fragmentView.findViewById(R.id.practice_mapview);
mapView.setBuiltInZoomControls(true);
mapView.setMultiTouchControls(true);
mapView.setTileSource(TileSourceFactory.MAPNIK);
mapView.setUseSafeCanvas(true);
setHardwareAccelerationOff();
mapController = (MapController) mapView.getController();
[...]
mLocationOverlay = new MyLocationOverlay(getActivity(), mapView);
mLocationOverlay.setDrawAccuracyEnabled(true);
[...]
mapView.invalidate();
return fragmentView;
}
에서 모든 것이 잘 작동 시작,하지만 난 전화를 회전 할 때 문장은 "mLocationOverlay은 (getActivity(),지도보기) 새로운 MyLocationOverlay =;은"각 방향 변경에 이벤트 onCreateView 다시 해고 다시 실행하면 응용 프로그램을 닫으면 GPS 아이콘이 사라지지 않습니다.
전화를 돌리지 않으면 응용 프로그램이 닫히면 아이콘이 사라집니다.
이
내가 onPause 이벤트에 무엇을 가지고 :@Override
public void onPause() {
mLocationOverlay.disableCompass();
if (this.getActivity().isFinishing()) {
disableMyLocation();
releaseLocationOverlay();
}
cleanMapViewCache();
}
private void disableMyLocation() {
if (mLocationOverlay.isMyLocationEnabled() == true)
mLocationOverlay.disableMyLocation();
if (mLocationOverlay.isFollowLocationEnabled() == true)
mLocationOverlay.disableFollowLocation();
}
private void releaseLocationOverlay() {
if (mLocationOverlay != null) {
mapView.getOverlays().remove(mLocationOverlay);
mLocationOverlay = null;
}
}
private void cleanMapViewCache() {
mapView.getTileProvider().clearTileCache();
System.gc();
}
시 엉 엘 evento onCreateView hago 에스테 sencillo 엘 problema의 desaparece 제어 :
나는 onCreateView 이벤트에서이 컨트롤을 넣을 경우 문제를
if (this.getActivity().isFinishing())
mLocationOverlay = new MyLocationOverlay(getActivity(), mapView);
을하지만, 무엇보다도, 난 더 이상 중앙 수 없습니다입니다 : 사라
mapController.animateTo(mLocationOverlay.getMyLocation());
어떤 아이디어가 있습니까? 내가 뭘 잘못하고있어?
더 많은 코드가 필요하면 더 이상 말할 필요가 없습니다. 고맙습니다! 여기