내 SDK를 업데이트하기 전에 작업 코드를 가지고 있습니다 (나중에 참조 할 수있는 날짜를 물어보십시오). .getMap
은 더 이상 사용되지 않겠다고 경고하지만 현재는 유효한 입력으로 인식되지 않습니다. API 24 (Android Nougat)의 새 릴리스로 인해이 문제가 발생한 것으로 가정합니다. 누구든지 변경하는 데 도움이 수내 프로젝트를 getMapAsync와 호환되게하려면 어떻게해야합니까?
private boolean initMap() {
if (mMap == null) {
MapFragment mapFrag =
(MapFragment) getFragmentManager().findFragmentById(R.id.map);
mMap = mapFrag.getMapAsync();
}
return (mMap != null);
}
경우 내가 정말 감사하겠습니다 .getMapAsync()
을 통합 : 속히 여기에 코드입니다.
감사합니다.
UPDATE : 여기에 대한 답변의 제안을보고 한 후 새롭게 업데이트 된 코드 (이것은에서 onCreate에없는이)입니다 -
private boolean initMap() {
if (mMap == null) {
MapFragment mapFrag = (MapFragment) getFragmentManager()
.findFragmentById(R.id.map);
mapFrag.getMapAsync(this);
}
return (mMap != null);
}
@Override
public void onMapReady(GoogleMap googleMap) {
if (googleMap != null) {
mMap = googleMap;
}
}
시도해 보셨습니까? 당신은 문서를 참조하여 시도해보고, 어떤 일이 일어나는지 볼 수 있습니까? – nasch
@nasch 빈 괄호에'(GoogleMaps googlemaps)'를 추가하려했지만 작동하지 않았습니다. – petnamedsteve
왜 그렇게 했습니까? 문서에는'GoogleMap'이 아니라'OnMapReadyCallback'을 전달한다고 나와 있습니다. – nasch