如何检查是否已加载(Google地图API)地图?

时间:2013-02-11 16:53:40

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

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

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

我怎样才能做到这一点?

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

2 个答案:

答案 0 :(得分:1)

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

  this.map.setOnCameraChangeListener(new OnCameraChangeListener() {

    public void onCameraChange(CameraPosition arg0) {
      isMapReady = true;
      map.setOnCameraChangeListener(null);
    }
  });

答案 1 :(得分: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;
            }
        }
}