Google Maps iOS:移动摄像头以显示集群内存在的所有标记



当调用didTap集群函数时,它会将相机缩放到集群内存在的标记之一,但我想显示该集群中的所有标记并将相机聚焦在这些标记上。

我能够在安卓中实现这一点。但是,在iOS中,Google utils sdk不提供获取集群对象中存在的所有项目的方法。

这是安卓代码

mClusterManager
.setOnClusterClickListener(new 
ClusterManager.OnClusterClickListener<Service_Provider>() {
@Override
public boolean onClusterClick(final Cluster<Service_Provider> cluster) {
LatLngBounds.Builder builder = LatLngBounds.builder();
for (ClusterItem item : cluster.getItems()) {
builder.include(item.getPosition());
Log.w(TAG, "Clicked Cluster Item name: " + item.getTitle());
}
final LatLngBounds bounds = builder.build();
map.animateCamera(CameraUpdateFactory.newLatLngBounds(bounds, 100));
return true;
}
});

到目前为止我在iOS中尝试过什么

func clusterManager(_ clusterManager: GMUClusterManager, didTap cluster: 
GMUCluster) -> Bool {
print("Did tap cluster")
let newCamera = GMSCameraPosition.camera(withTarget: cluster.position,
zoom: mapView.camera.zoom +1)
let update = GMSCameraUpdate.setCamera(newCamera)
mapView.moveCamera(update)
}

任何帮助,不胜感激。

蒂亚

func showBoundBox( _ list : [CLLocationCoordinate2D]){

var bounds = GMSCoordinateBounds()
for location in list {
bounds = bounds.includingCoordinate(location)
}

let update = GMSCameraUpdate.fit(bounds, withPadding: 100)
map.animate(with: update)

}

最新更新