그래서 Google지도를 표시하려고하는 Fragment 클래스에 다음 코드가 있습니다. 위치가 성공적으로 감지되고 확대/축소 되어도 위치 버튼과 같은 다른 모든 UI 구성 요소는 표시되지 않으며 맵은 제스처에 반응하지 않습니다. 문제가 무엇입니까?MapFragment를 사용하여 UI 구성 요소가 작동하지 않습니다?
inflate하기 전에 setupMap()을 호출하려고하면 맵이 준비되지 않았으며 getMap과 함께 null 포인터를 얻습니다.
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
mMapFragment = MapFragment.newInstance();
FragmentTransaction fragmentTransaction =
getFragmentManager().beginTransaction();
fragmentTransaction.add(R.id.map, mMapFragment);
fragmentTransaction.commit();
View v = inflater.inflate(R.layout.afragment, container, false);
setupMap();
// Inflate the layout for this fragment
return v;
}
그리고 난 다음 내지도 설정 : 다른 Fragment
내부 Fragment
퍼팅
private void setupMap(){
if (mMap == null) {
mMap = ((MapFragment) getFragmentManager().findFragmentById(R.id.map))
.getMap();
// Check if we were successful in obtaining the map.
if (mMap != null) {
//Set Location etc
........
mMap.getUiSettings().setAllGesturesEnabled(true);
mMap.getUiSettings().setMyLocationButtonEnabled(true);
mMap.getUiSettings().setZoomControlsEnabled(true);
mMap.getUiSettings().setZoomGesturesEnabled(true);
// Zoom in the Google Map
mMap.animateCamera(CameraUpdateFactory.zoomTo(14));
mMap.setOnMapClickListener(this);
}
}
}