Hoc*_*Lee 9 android dictionary callback
我想在moveCamera完成后拍摄快照.
我将onCamerachange()和onMapLoaded()函数用于Googlemap对象,
但是这个回调处理程序的时间不符合我的意图.
我想将相机移动到我想要的位置,当加载地图完成后,想要拍摄一个screnshot.
你们是谁知道我该怎么办?
谢谢.
================================================== ==
+ MYSOLUTION
实际上,我想实现javascript的google map API支持的tilesloaded()回调函数.但是,结果,没有完全实现功能的功能.
首先加载地图时,只调用一次OnMapLoaded()回调函数.
在加载所有切片之前调用OnCameraChanged()或OnCancallableCallback.
所以我实现了如下源代码
...
mMap.animateCamera(CameraUpdateFactory.newLatLngBounds(bounds, 10), this);
...
@Override
public void onFinish() {
mapFragment.getMapAsync(this);
}
..
@Override
public void onMapReady(GoogleMap googleMap) {
// TODO Auto-generated method stub
mMap = googleMap;// Add a marker in Sydney and move the camera
mMap.setOnMapLoadedCallback(this);
}
Run Code Online (Sandbox Code Playgroud)
现在,移动相机时,始终会调用onMapLoaded().
谢谢大家.
Bra*_*dio 30
你可以实现这个:
mMap.animateCamera(CameraUpdateFactory.zoomTo(16), 3000, new GoogleMap.CancelableCallback() {
@Override
public void onFinish() {
//Here you can take the snapshot or whatever you want
}
@Override
public void onCancel() {
}
});
Run Code Online (Sandbox Code Playgroud)
此方法最详细的形式是GoogleMap.animateCamera(cameraUpdate,duration,callback),它提供了三个参数:
CameraUpdate描述移动摄像机的位置.callback实现GoogleMap.CancellableCallback的对象.这个用于处理任务的通用接口定义了两种方法onCancel()和onFinished().对于动画,在以下情况下调用方法:
如果动画不间断地完成,则调用.
如果通过调用stopAnimation()或开始新的相机移动来中断动画,则调用此方法.
或者,如果您调用GoogleMap.stopAnimation(),也会发生这种情况.
| 归档时间: |
|
| 查看次数: |
6913 次 |
| 最近记录: |