2013-06-20 6 views
0

그래서 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); 

      } 
     }   
    } 

답변

0
내 솔루션이지도보기를 사용하는 것입니다

....

가 (필자는 API 버전을 변경하고 다른 장치를 제외하고 싶지 않았다 https://gist.github.com/joshdholtz/4522551

보기 MaciejGórski),하지만 그 대답은 중첩 된 단편의 문제점을 나타내는데도 유용하다고 믿습니다.

관련 문제