重複の可能性:
SupportMapFragmentを使用するときに、マップを使用する準備ができていることをどのように確認できますか?
現在、新しいMaps API V2をテストしていますが、正しく機能させるのに本当に問題があります。
私の問題は、getMap()が常にnullを返すことです。
私は3つの異なるポイントで通話をテストしました:
- onCreate()
- onResume()
- マップがすでに画面に表示されてから数秒後に呼び出されるハンドラー内
コードは次のとおりです。
public class MapActivity extends FragmentActivity {
private SupportMapFragment mMapFragment;
@Override
protected void onCreate(Bundle arg0) {
super.onCreate(arg0);
setupMap();
}
@Override
protected void onResume() {
super.onResume();
setupMap();
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
setupMap();
}
}, 5000);
}
private void setupMap() {
if (getSupportFragmentManager().findFragmentById(R.id.fragment) == null) {
mMapFragment = CustomMapFragment.newInstance();
getSupportFragmentManager().beginTransaction()
.add(R.id.map_wrapper, mMapFragment).commit();
}
GoogleMap map = mMapFragment.getMap();
if (map != null) {
mMapFragment.getMap().getUiSettings().setZoomControlsEnabled(true);
mMapFragment.getMap().getUiSettings().setZoomGesturesEnabled(true);
mMapFragment.getMap().setMyLocationEnabled(true);
}
}
私が間違っていることはありますか?