【问题标题】:MapView - Android地图视图 - 安卓
【发布时间】:2012-12-10 14:13:01
【问题描述】:

您好,我正在尝试将 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);
}

documantation 说;等待 GoogleMap 从您添加到应用程序中的 MapFragment 或 MapView 变为可用。您可以通过调用getMap() 方法并检查返回的对象是否不为空来验证GoogleMap 是否可用。

但我还是得到了

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

有什么方法可以检查 cameraUpdateFactory 是否准备好?

【问题讨论】:

    标签: android google-maps nullpointerexception google-play-services google-maps-android-api-2


    【解决方案1】:

    您可以使用以下代码强制初始化

        try {
            MapsInitializer.initialize(context);
        } catch (GooglePlayServicesNotAvailableException impossible) {
            /* Impossible */
        }
    

    将这个 sn-p 放在你的 onCreate 方法的顶部,它应该可以工作。

    【讨论】:

    • 我在 Fragment 的 onAttach() 中有这个 sn-p,但我仍然在野外看到这个问题的异常(我自己无法重现它)。不幸的是,我不知道是否发生了“不可能”异常,或者 getMap() 是否返回 null。
    猜你喜欢
    • 2011-08-15
    • 1970-01-01
    • 1970-01-01
    • 2011-06-22
    • 2012-04-19
    • 1970-01-01
    相关资源
    最近更新 更多