无法从片段转换为支持映射片段


public class OutdoorFragment extends Fragment  {
private GoogleMap googleMap;
double latitude = 1.31039;
double longitude = 103.7784;
public OutdoorFragment() {
}
public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {
    View rootView = inflater.inflate(R.layout.fragment_outdoor, container,
            false);
    try {
        // Loading map
        initilizeMap();
    } catch (Exception e) {
        e.printStackTrace();
    }
    googleMap.getUiSettings().setZoomGesturesEnabled(true);
    googleMap.getUiSettings().setRotateGesturesEnabled(true);
    googleMap.getUiSettings().setMyLocationButtonEnabled(true);
    googleMap.setMyLocationEnabled(true);
    // create marker
    MarkerOptions marker = new MarkerOptions().position(
            new LatLng(latitude, longitude)).title("Koh Chi Hao ");
    // adding marker
    marker.icon(BitmapDescriptorFactory
            .defaultMarker(BitmapDescriptorFactory.HUE_VIOLET));
    googleMap.addMarker(marker);

    return rootView;
}

private void initilizeMap() {
    if (googleMap == null) {
         googleMap = ((SupportMapFragment) getFragmentManager().findFragmentById(R.id.map)).getMap();
        // check if map is created successfully or not
        if (googleMap == null) {
            Toast.makeText(getActivity().getApplicationContext(),
                    "Sorry! unable to create maps", Toast.LENGTH_SHORT)
                    .show();
        }
    }
}
@Override
public void onResume() {
    super.onResume();
    initilizeMap();
}

}

你好,在我的initializeMap()里,googleMap = ((SupportMapFragment) getFragmentManager().findFragmentById(R.id.map)).getMap();一直在说Cannot cast from Fragment to SupportMapFragment.我不确定发生了什么.提前致谢

更改;

googleMap = ((SupportMapFragment) getFragmentManager().
            findFragmentById(R.id.map)).getMap();

有了这个;

googleMap = ((SupportMapFragment) getSupportFragmentManager().
            findFragmentById(R.id.map)).getMap();

请注意,getSupportFragmentManager来自android.support.v4.app.FragmentActivity

祝你好运。

你需要使用 android.support.v7.app.Fragment;

并且需要使用getSupportFragmentManager

基本上你需要v7库

检查您的活动布局。带有 map 的片段必须具有以下属性name="com.google.android.gms.maps.SupportMapFragment"以指示您使用的片段类。

最新更新