我已经开始构建一个 android 应用程序,该应用程序专注于来自 google-play-services-libs 的地图。当我启动应用程序时,地图从灰色网格加载到显示地图图像需要一段时间。
当地图完全加载当前屏幕上的部分时,我想移动/玩一下地图。但是,我一直无法找到以编程方式检查地图是否已加载的方法。
我怎样才能做到这一点?
简而言之:从 的实例中GoogleMap
,我如何确定它是否实际显示了什么?
我已经开始构建一个 android 应用程序,该应用程序专注于来自 google-play-services-libs 的地图。当我启动应用程序时,地图从灰色网格加载到显示地图图像需要一段时间。
当地图完全加载当前屏幕上的部分时,我想移动/玩一下地图。但是,我一直无法找到以编程方式检查地图是否已加载的方法。
我怎样才能做到这一点?
简而言之:从 的实例中GoogleMap
,我如何确定它是否实际显示了什么?
您可以尝试在地图上使用 OnCameraChangeListener。最初加载地图的瓦片时将调用 onCameraChange 调用。
this.map.setOnCameraChangeListener(new OnCameraChangeListener() {
public void onCameraChange(CameraPosition arg0) {
isMapReady = true;
map.setOnCameraChangeListener(null);
}
});
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;
}
}
}