1

我已经开始构建一个 android 应用程序,该应用程序专注于来自 google-play-services-libs 的地图。当我启动应用程序时,地图从灰色网格加载到显示地图图像需要一段时间。

当地图完全加载当前屏幕上的部分时,我想移动/玩一下地图。但是,我一直无法找到以编程方式检查地图是否已加载的方法。

我怎样才能做到这一点?

简而言之:从 的实例中GoogleMap,我如何确定它是否实际显示了什么?

4

2 回答 2

1

您可以尝试在地图上使用 OnCameraChangeListener。最初加载地图的瓦片时将调用 onCameraChange 调用。

  this.map.setOnCameraChangeListener(new OnCameraChangeListener() {

    public void onCameraChange(CameraPosition arg0) {
      isMapReady = true;
      map.setOnCameraChangeListener(null);
    }
  });
于 2013-07-18T16:57:36.900 回答
0

chckReady()函数检查地图是否准备好

public class MapView extends android.support.v4.app.FragmentActivity {

        private GoogleMap mMap;

        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.ui_settings_demo);
            setUpMapIfNeeded();
        }

        @Override
        protected void onResume() {
            super.onResume();
            setUpMapIfNeeded();
        }

        private void setUpMapIfNeeded() {
            if (mMap == null) {
                mMap = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map))
                        .getMap();
            }
        }

        private boolean checkReady() {
            if (mMap == null) {
                return false;
            }
        }
}
于 2013-02-16T14:23:18.943 回答