Advertisement
Guest User

Untitled

a guest
Jun 29th, 2017
54
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.97 KB | None | 0 0
  1.    
  2.     override func viewDidLoad() {
  3.         super.viewDidLoad()
  4.        
  5.         contentView = ClusteringView()
  6.         view = contentView
  7.      
  8.         let builder = ClusterBuilder()
  9.         builder?.image = UIImage(named: "marker_black.png")
  10.         builder?.elements = [Int: NTMarkerStyle]()
  11.  
  12.         contentView.initializeClusterLayer(builder: builder!)
  13.        
  14.         DispatchQueue.global().async {
  15.  
  16.             let path = Bundle.main.path(forResource: "cities15000", ofType: "geojson")
  17.            
  18.             guard let json = try? NSString(contentsOfFile: path!, encoding: String.Encoding.utf8.rawValue) else {
  19.                 return
  20.             }
  21.            
  22.             // Create a basic style, as the ClusterElementBuilder will set the real style
  23.             let builder = NTMarkerStyleBuilder()
  24.             builder?.setColor(Colors.green.toNTColor())
  25.             builder?.setBitmap(builder?.getBitmap())
  26.            
  27.             let style = builder?.buildStyle()
  28.            
  29.             // Read GeoJSON, parse it using SDK GeoJSON parser
  30.             let reader = NTGeoJSONGeometryReader()
  31.             reader?.setTargetProjection(self.contentView.map.getOptions().getBaseProjection())
  32.            
  33.             let features = reader?.readFeatureCollection(json as String!)
  34.            
  35.             let elements = NTVectorElementVector()
  36.             let total = Int((features?.getFeatureCount())!)
  37.            
  38.            
  39.             for i in stride(from: 0, to: total, by: 1) {
  40.                 // This data set features point geometry, however, it can also be LineGeometry or PolygonGeometry
  41.                 let geometry = features?.getFeature(Int32(i)).getGeometry() as? NTPointGeometry
  42.                 elements?.add(NTMarker(geometry: geometry, style: style))
  43.             }
  44.            
  45.             DispatchQueue.main.async(execute: {
  46.                 self.contentView.addClusters(elements: elements!)
  47.             })
  48.         }
  49.    
  50.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement