私はGoogleマップをロードしようとしているFragmentActivityを持っています。そしてそれはOnMapReadyCallBackを実装し、マップを膨張させようとするとmapFragmentオブジェクトを取得しますが、getMapAsyncが呼び出された後にアプリケーションがクラッシュします。以下は私のコードです:onMapReadyが呼び出されていない:FrgmentActivityのGoogleマップ:Androidスタジオ
public class MapActivity extends FragmentActivity implements OnMapReadyCallback {
private GoogleMap googleMap;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_map);
initializeMap();
}
private void initializeMap() {
if (googleMap == null) {
SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager()
.findFragmentById(R.id.map);
if(mapFragment!=null){
mapFragment.getMapAsync(MapActivity.this);
}
// check if map is created successfully or not
if (null== googleMap) {
Toast.makeText(getApplicationContext(), "Sorry! unable to create maps", Toast.LENGTH_SHORT).show();
}
}
}
@Override
public void onMapReady(GoogleMap map) {
googleMap = map;
googleMap.setMyLocationEnabled(true);
}
}
私はdegugしようとしましたが、私はmapFragmentオブジェクトを取得していますが、どの方法がに関連するとき、それは私のGoogleマップオブジェクトがnullにすることができますonMapReady方法とアプリのクラッシュに到達したことがないことに気づきましたgoogleMap(例:setOnCameraChangeListener)が呼び出されています。私はdocumentation pageを通過しましたが、私のプロジェクトではうまくいかないようです。
私のプロジェクトには何かがありますか?このエラーをどのように克服して、アプリがクラッシュするのをやめてください。
TIA
EDIT 1:以下
xmlファイル内の私の地図の断片が<fragment
android:id="@+id/map"
class="com.google.android.gms.maps.SupportMapFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MapsActivity"
android:name="com.google.android.gms.maps.SupportMapFragment"/>
R.layout.activity_mapを表示できますか? – AlexTa
質問の編集を確認してください。 –