2

我有一个简单的活动,上面有以下段代码:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="center_horizontal"
    android:orientation="horizontal"
    android:id="@+id/title_complex">

   <fragment 
      android:id="@+id/map"
      android:layout_width="match_parent"
      android:layout_height="match_parent"
      class="com.google.android.gms.maps.MapFragment"  
      tools:context=".MainActivity" />

</LinearLayout>
  • 如果地图已完全加载并准备就绪,如何检查 MainActivity.java?
4

2 回答 2

4

在与 GoogleMap 对象交互之前,您需要确认对象可以被实例化,并且 Google Play 服务组件已正确安装在目标设备上。您可以通过调用

MapFragment.getMap()

或者

MapView.getMap()

方法并检查返回的对象是否不为空。

下面显示了一个确认 GoogleMap 可用性的测试示例。可以从onCreate()onResume()阶段调用此方法,以确保地图始终可用。

private void setUpMapIfNeeded() {
// Do a null check to confirm that we have not already instantiated the map.
if (mMap == null) {
    mMap = ((MapFragment) getFragmentManager().findFragmentById(R.id.map))
                        .getMap();
    // Check if we were successful in obtaining the map.
    if (mMap != null) {
        // The Map is verified. It is now safe to manipulate the map.

    }
}
}

参考资料 - https://developers.google.com/maps/documentation/android/map

于 2013-05-10T10:12:18.310 回答
1

使用GooglePlayServicesUtil.isGooglePlayServicesAvailable

于 2013-05-10T10:06:03.170 回答