0

Android SDKにminClusterSizeプロパティがあります。これを1に設定すると、すべての要素がマーカーではなくクラスタとして表示されます。 しかし、iOS SDKでは存在しません。デフォルトでminClusterSizeとDefaultRendererは、クラスタではないアイテムとして3つ未満のアイテムを表示します。 解決策はありますか?おかげさまで GoogleマップのminClusterSizeの設定方法は?

enter image description here

+0

enter image description here

Johnny

答えて

1
import UIKit 

class CustomClusterRenderer: GMUDefaultClusterRenderer { 

    let GMUAnimationDuration: Double = 0.5 
    var mapView: GMSMapView? 

    override init(mapView: GMSMapView, clusterIconGenerator iconGenerator: GMUClusterIconGenerator) { 
     super.init(mapView: mapView, clusterIconGenerator: iconGenerator) 
     self.mapView = mapView 
    } 

    func markerWith(position: CLLocationCoordinate2D, from: CLLocationCoordinate2D, userData: AnyObject, clusterIcon: UIImage, animated: Bool) -> GMSMarker { 

     let initialPosition = animated ? from : position 
     let marker = GMSMarker(position: initialPosition) 
     marker.userData = userData 

     marker.icon = clusterIcon 
     marker.groundAnchor = CGPoint(x: 0.5, y: 0.5) 

     marker.map = mapView 
     if animated { 
      CATransaction.begin() 
      CAAnimation.init().duration = GMUAnimationDuration 
      marker.layer.latitude = position.latitude 
      marker.layer.longitude = position.longitude 
      CATransaction.commit() 
     } 
     return marker 
    } 

    func getCustomUIImageItem(userData: AnyObject) -> UIImage { 
     if let item = userData as? Marker { 
      return item.merkerIcon 
     } 
     return UIImage() 
    } 

    override func shouldRender(as cluster: GMUCluster, atZoom zoom: Float) -> Bool { 
     print("Zoom Level is \(zoom) , and result is \(zoom<=14)") 
     return zoom <= 14; 
    } 


} 


class Marker: NSObject, GMUClusterItem { 

    var position: CLLocationCoordinate2D 
    var estate: Estate 

    init(estate: Estate) { 

     self.estate = estate 
     self.position = CLLocationCoordinate2D(latitude: estate.latitude,longitude: estate.longitude) 

    } 

} 
しかし、あなたは、地図上のすべての単一のマーカーを表示したい場合は、なぜクラスタを使用していますか?
関連する問題