2016-08-22 15 views
0

Android Studio 1.1 및 AP1 21 (코스의 일부로 필요한 버전)을 사용하고 있습니다. Google Maps Activity을 사용하여 새 프로젝트를 만듭니다. 자동으로 생성 된 코드 내에서오류 : (48, 21) 오류 : 기호 방법을 찾을 수 없습니다. getMap()

, 나는 다음과 같은 오류 메시지가 얻을 : Error:(48, 21) error: cannot find symbol method getMap()setUpMapIfNeeded 방법 :

private void setUpMapIfNeeded() { 
     // Do a null check to confirm that we have not already instantiated the map. 
     if (mMap == null) { 
      // Try to obtain the map from the SupportMapFragment. 
      mMap = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map)) 
        .getMap(); 
      // Check if we were successful in obtaining the map. 
      if (mMap != null) { 
       setUpMap(); 
      } 
     } 
    } 

모든 아이디어를 어떻게이 문제를 해결하기를? 감사!

답변

0

동일한 방법을 사용하고 있으며 동일한 오류가 발생했습니다. OnMapReadyCallback을 구현하여 문제를 해결했습니다.

public class MapsActivity extends FragmentActivity implements OnMapReadyCallback { 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    ...... 
    .... 

새로운 setUpMapIfNeeded() 메소드 :

첫째 OnMapReadyCallback 구현

private void setUpMapIfNeeded() { 
    // Do a null check to confirm that we have not already instantiated the map. 
    if (mMap == null) { 
     // Try to obtain the map from the SupportMapFragment. 
     SupportMapFragment mf = (SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map); 
     mf.getMapAsync(this); 
    } 
} 

을 그리고에 setUpMap()를 호출 오버라이드 onMapReady :

@Override 
public void onMapReady(GoogleMap googleMap) { 
    mMap = googleMap; 
    setUpMap(); 
} 

가 setUpMap에 변화가 없다() 메서드 또는 다른 메서드를 호출합니다. 나는 그것이 도움이되기를 바랍니다.