Skip to content

Instantly share code, notes, and snippets.

@lagner
Created January 21, 2021 16:19
Show Gist options
  • Save lagner/a667c96e6d91e1356ac193c9296c2f42 to your computer and use it in GitHub Desktop.
Save lagner/a667c96e6d91e1356ac193c9296c2f42 to your computer and use it in GitHub Desktop.
How to add markers
func addMarkers() {
let source = self.sdk.sourceFactory.createGeometryMapObjectSource()
self.sdk.map.addSource(source: source)
struct Marker {
let svg: Data
let latitude: Double
let longitude: Double
let anchor: CGPoint = CGPoint(x: 0.5, y: 0.5)
}
let photo = NSDataAsset(name: "svg_photo")!.data
let water = NSDataAsset(name: "svg_water")!.data
let markers: [Marker] = [
Marker(svg: photo, latitude: 55.53739580689267, longitude: 37.66256779432297),
Marker(svg: water, latitude: 55.57043582413208, longitude: 37.441149428486824)
]
for marker in markers {
do {
let mapObject = try MarkerBuilder()
.setIcon(svg: marker.svg)
.setPosition(latitude: marker.latitude, longitude: marker.longitude)
.setAnchor(marker.anchor)
.build()
source.addObject(item: mapObject)
} catch {
print("Failed to build a marker with info: \(marker). Error: \(error)")
}
}
do {
let markerWithText = try MarkerBuilder()
.setIcon(svg: photo)
.setPosition(latitude: 55.67895765839564, longitude: 37.45498484931886)
.setText(text: "Here!")
.build()
source.addObject(item: markerWithText)
} catch {
print("Failed to build text marker. Error: \(error).")
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment