gpt4 book ai didi

android - Google map - 无法使用 animateCamera 同时缩放和移动,但可以使用 moveCamera

转载 作者:行者123 更新时间:2023-12-02 14:01:48 26 4
gpt4 key购买 nike

我正在使用 Android 版 Google map 。我需要将相机移动到某个位置并同时放大。

我像这样构建我的CameraUpdate:

    CameraPosition cameraPosition = new CameraPosition.Builder()
.target(latLng)
.zoom(zoom)
.build();
CameraUpdate update = CameraUpdateFactory.newCameraPosition(cameraPosition);

然后为其设置动画:

map.animateCamera(update);

这会产生将相机移动到目标位置的所需结果。但是,它根本不会放大相机。如果我使用 moveCamera 代替相同的 update 对象:

map.moveCamera(update);

我可以看到移动和缩放都生效(没有所需的动画)

什么可能导致 animateCameramoveCamera 之间的行为不一致?如何将 animateCamera 配置为同时移动和缩放?

最佳答案

发现问题了!它位于集群点击监听器中:

mClusterManager.setOnClusterClickListener(
new OnClusterClickListener<MyClusterItem>() {
@Override
public boolean onClusterClick(Cluster<MyClusterItem> cluster) {
CameraPosition cameraPosition = new CameraPosition.Builder()
.target(latLng)
.zoom()
.build();
CameraUpdate update = CameraUpdateFactory.newCameraPosition(cameraPosition);
mMap.animateCamera(update);

return false;
}
});

问题是从 OnClusterClickListener 返回 false。虽然这没有记录,但大概它的工作方式与 Android 的其他部分类似,并指示点击事件是否被消耗。通过将其设置为 false,点击事件可能会传播到 GoogleMap 对象,该对象必须具有自己的某些取消缩放的功能。

关于android - Google map - 无法使用 animateCamera 同时缩放和移动,但可以使用 moveCamera,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41994932/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com