Google Maps iOS: переместите камеру, чтобы показать все маркеры, присутствующие в кластере - PullRequest
1 голос
/ 19 октября 2019

Когда вызывается функция кластера didTap, она приближает камеру к одному из маркеров, присутствующих внутри кластера, но я хочу показать все маркеры, которые были в этом кластере, и сфокусировать камеру на этих маркерах.

Я смог добиться этого в Android. Однако в iOS утилиты Google SDK не предоставляют способ получить все элементы, присутствующие в объекте кластера.

Вот код Android

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)
}

Любая помощь приветствуется.

TIA

...