【发布时间】:2013-08-22 10:09:05
【问题描述】:
我正在编写一个应用程序,当用户按下按钮时,它会在一个区域周围拍摄 9 张地图快照。
在循环中,使用它来移动和保存:
map.moveCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(mStartLat + (mMultiOffsetX + mWidth), mStartLng + (mMultiOffsetY + mHeight)), mZoom));
map.snapshot(this);
在 onSnapshotReady 中:
final String fileName = Environment.getExternalStorageDirectory().getAbsolutePath() + String.format("/test_maps/map_%f_%f.png", Double.valueOf(mStartLat + (mMultiOffsetX * mWidth)), Double.valueOf(mStartLng + (mMultiOffsetY * mHeight)));
FileOutputStream fos = new FileOutputStream(new File(fileName));
bmp.compress(CompressFormat.PNG, 0, fos);
不幸的是,在拍摄快照时地图偶尔会完成加载,因此您最终会得到:
那么,有什么方法可以检测或设置地图视图何时完成加载的监听器?
【问题讨论】:
-
见stackoverflow.com/a/56480359/2914140 和developers.google.com/maps/documentation/android-sdk/events。我用
setOnCameraIdleListener。