【问题标题】:SupportMapFragment always nullSupportMapFragment 始终为空
【发布时间】:2015-04-21 07:52:03
【问题描述】:

我看到很多关于这个的问题,但我没有找到任何答案来解决我的问题,这是我的课:

@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:尝试调用虚拟方法'com.google.android.gms.maps.GoogleMap com.google.android.gms.maps.SupportMapFragment.getMap()' 为空 对象引用 在greetrack.estg.ipvc.greentrack.Mapa.onCreateView(Mapa.java:96)

我知道我的错误在 fm 中,它返回 null 但我不知道方法...

【问题讨论】:

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


【解决方案1】:

我的布局是这样的

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

【讨论】:

  • 感谢您的解决方案
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-07-31
  • 2019-07-18
  • 2019-08-18
  • 2011-12-29
相关资源
最近更新 更多