- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我想在 moveCamera 完成后拍摄快照。
我对 Googlemap 对象同时使用了 onCamerachange() 和 onMapLoaded() 函数,
但是这个回调处理程序的时间不符合我的 Intent 。
我想把相机移到我想要的地方,当加载 map 完成后,想截图。
你们谁知道我该怎么做?
谢谢。
============================================= =====
+我的解决方案
实际上,我想实现javascript 的google map API 支持的tilesloaded() 回调函数。但是,结果,没有完全完成该功能的功能。
OnMapLoaded() 回调函数仅在 map 首次加载时调用一次。
在加载所有图 block 之前调用 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);
}
现在,当相机移动时,onMapLoaded() 总是被调用。
谢谢大家
最佳答案
你可以实现这个:
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() {
}
});
此方法的最详细形式 GoogleMap.animateCamera(cameraUpdate, duration, callback) 提供三个参数:
描述相机移动位置的 CameraUpdate。打回来一个实现 GoogleMap.CancellableCallback 的对象。这个用于处理任务的通用接口(interface)定义了两个方法 onCancel()
和 onFinished()
。对于动画,在以下情况下会调用这些方法:
如果动画在没有中断的情况下完成,则调用。
如果动画因调用 stopAnimation() 或开始新的相机移动而中断,则调用。
或者,如果您调用 GoogleMap.stopAnimation(),也会发生这种情况。
关于android - 如何检测谷歌地图服务上的 moveCamera 完成?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33877621/
我想在 moveCamera 完成后拍摄快照。 我对 Googlemap 对象同时使用了 onCamerachange() 和 onMapLoaded() 函数, 但是这个回调处理程序的时间不符合我的
我正在实现一个 map ,需要在运行时显示您当前的位置。到目前为止,我没有遇到任何问题,但今天在学习如何设置纬度和经度的教程时,我在为我的项目初始化 map 标记时遇到了麻烦。 addMarker
希望你能帮助我。我当前的应用程序能够获取我当前的位置(通过 GPS)。现在,我将一个标记添加到当前位置,效果非常好,但如果我想将相机移动到该标记,它就不起作用。 moveCamera(position
我遇到了这样的问题:我在我的应用程序中的 Fragment 中使用 GoogleMaps map ,并且在调用 onLocationChanged 方法时它会中断。问题是这一行 mMap.moveCa
我正在尝试像这样控制 Google map 相机 private void setUpMap() { Log.e(LOG_TAG, "in setup method");
我有以下更新 map 的方法: private void setCamera() { if (currentLocation != null) { String
我有一个小问题,当我在手机上运行该应用程序时,我的 moveCamera 设置在我以前的位置(而不是我正在测试它的当前位置),我的 addCircle (设置在我以前的位置周围,而不是我现在的位置)。
我正在使用新的 Android Google Maps API . 我创建了一个包含 MapFragment 的 Activity 。在 Activity onResume 中,我将标记设置到 Goo
我正在使用 Android 版 Google map 。我需要将相机移动到某个位置并同时放大。 我像这样构建我的CameraUpdate: CameraPosition cameraPosit
我在 SupportMapFragment 中有一个 GoogleMap。它在初始显示中工作正常。移动相机,并添加一个圆圈。但是 moveCamera 和 addCircle 在从其子 Activit
我需要移动相机以覆盖其上的所有标记。因此,我构建了 LatLngBounds,然后尝试调用 mMap.moveCamera(CameraUpdateFactory.newLatLngBounds(la
当前的 Android Google Maps API 要求您在访问 GoogleMap 之前使用 OnMapReadyCallback 调用 mapFragment.getMapAsync。我假设一
我正在使用适用于 Android 的 google maps api V2。当我加载 map 时它加载完美但是,当我尝试使用来自 https://developers.google.com/maps/
我对使用 CameraUpdateFactory.newLatLngBounds() 的 moveCamera 和 animateCamera 的准确性有一些疑问。我比较了一个 LatLngBound
我目前正在研究新的 Google Maps Android API v2。 我的 MapActivity 类使用下面的代码与我的三星 galaxy s3 ans s2 一起工作: 但是,有一些特定的设
这些方法有什么区别 public final void moveCamera(CameraUpdate更新)和public final void animateCamera (CameraUpdate
我是一名优秀的程序员,十分优秀!