MapView - Android

4

你好,我正在尝试将 MapView 添加到 LinearLayout 中,这是我的代码:

GoogleMap mMap = mMapView.getMap();
if (mMap != null) {
    CameraUpdate cameraUpdate = CameraUpdateFactory.newLatLngZoom(new LatLng(-33.87365, 151.20689), 10);
    if (cameraUpdate != null)
        mMap.moveCamera(cameraUpdate);
    setUpMap(mMap);
}

文档中提到:等待从已添加到应用程序的MapFragmentMapView中获得可用的GoogleMap。您可以通过调用getMap()方法并检查返回的对象不为null来验证是否可用GoogleMap

但我仍然遇到以下问题:

java.lang.NullPointerException: CameraUpdateFactory未初始化。

有没有办法检查CameraUpdateFactory是否准备就绪?

1个回答

11
你可以通过以下代码强制初始化
    try {
        MapsInitializer.initialize(context);
    } catch (GooglePlayServicesNotAvailableException impossible) {
        /* Impossible */
    }

将此代码片段放置在您的onCreate方法中,放到顶部即可正常工作。


我在Fragment的onAttach()中有这段代码,但我仍然看到问题的异常(我自己无法复现)。不幸的是,我不知道是出现了“不可能”的异常,还是getMap()返回了null。 - android.weasel

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接