SupportMapFragment始终为null

时间:2015-04-20 23:50:23

标签: android google-maps google-maps-android-api-2

我看到很多关于此的问题,但我找不到任何答案来解决我的问题,这是我的班级:

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {
    View v = inflater.inflate(R.layout.mapa, container, false);

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

    MarkerOptions options = new MarkerOptions();
    options.position(LOWER_MANHATTAN);
    options.position(BROOKLYN_BRIDGE);
    options.position(WALL_STREET);
    googleMap.addMarker(options);
    String url = getMapsApiDirectionsUrl();
    ReadTask downloadTask = new ReadTask();
    downloadTask.execute(url);
    googleMap.moveCamera(CameraUpdateFactory.newLatLngZoom(BROOKLYN_BRIDGE,
            13));
    addMarkers();
    return v;
}

我的布局是:

<com.google.android.gms.maps.MapView
    android:id="@+id/map"
    class="com.google.android.gms.maps.SupportMapFragment"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_alignParentTop="true" />

我有这个错误

  

处理:PID:4701       java.lang.NullPointerException:尝试调用虚拟方法&#39; com.google.android.gms.maps.GoogleMap   com.google.android.gms.maps.SupportMapFragment.getMap()&#39;在null   对象参考               at greetrack.estg.ipvc.greentrack.Mapa.onCreateView(Mapa.java:96)

我知道我的错误是在fm中返回null但我不知道...

1 个答案:

答案 0 :(得分:0)

  

我的布局就是这个

在该布局中,将com.google.android.gms.maps.MapView替换为fragment。要在布局资源中嵌入静态片段,请使用<fragment>元素。

相关问题