Google-map-ios-utils GMSMarkers исчезают при увеличении iOS - PullRequest
0 голосов
/ 01 ноября 2019

Я добавляю 500 маркеров на карту Google и использую для них кластеризацию. Я использовал пользовательские GMSMarkers, установив свойство iconView. Это хорошо делает кластер и кластер растворяется, чтобы создать отдельные маркеры. Но когда я пытаюсь увеличить масштаб изображения, GMSMarker исчезает. Я использую язык swift для iOS.

    func addClusters(_ tolls: [TollInfo]) {
        let iconGenerator = GMUDefaultClusterIconGenerator(buckets: [ 9,10,100, 200, 500 ], backgroundImages: [UIImage.init(named: "clustericon1")!,UIImage.init(named: "clustericon2")!,UIImage.init(named: "clustericon3")!,UIImage.init(named: "clustericon3")!,UIImage.init(named: "clustericon3")!])
            let algorithm = GMUNonHierarchicalDistanceBasedAlgorithm()
            let renderer = GMUDefaultClusterRenderer(mapView: mapView, clusterIconGenerator: iconGenerator)
            renderer.delegate = self
            self.clusterManager = GMUClusterManager(map: mapView, algorithm: algorithm, renderer: renderer)
            self.enumerateAllTollInfosOnMap(tolls)
            self.clusterManager.cluster()
            self.clusterManager.setDelegate(self, mapDelegate: self)
    }

    // Arrange all the pins of toll
    func enumerateAllTollInfosOnMap(_ tolls: [TollInfo]) {
        mapView.clear()
        self.clusterManager.clearItems()

        for toll in tolls {

            let coordinate  = CLLocationCoordinate2D(latitude: toll.latitude, longitude: toll.longitude)
            let markerView = Utilities.createTollMarkerView(toll.name ?? "", toll.isActive)
            let marker = GMSMarker()
            marker.userData = toll.tollId
            marker.iconView = markerView
            marker.tracksViewChanges = true
            let item = POIItem.init(position: coordinate, marker: marker, userData: toll)
            self.clusterManager.add(item)
        }
    }

Я добавляю ссылку на GitHub, например, код

...