Files
MapLibreParticleLab/platform/ios/app-swift/Sources/AddMarkerExample.swift

55 lines
1.9 KiB
Swift
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import MapLibre
import SwiftUI
import UIKit
// #-example-code(AddMarkerSymbolExample)
class AddMarkerSymbolExampleUIKit: UIViewController, MLNMapViewDelegate {
override func viewDidLoad() {
super.viewDidLoad()
let mapView = MLNMapView(frame: view.bounds)
mapView.autoresizingMask = [.flexibleWidth, .flexibleHeight]
mapView.delegate = self
// Set the map’s center coordinate and zoom level.
mapView.setCenter(CLLocationCoordinate2D(latitude: 41.8864, longitude: -87.7135), zoomLevel: 13, animated: false)
view.addSubview(mapView)
}
func mapView(_ mapView: MLNMapView, didFinishLoading style: MLNStyle) {
// Create point to represent where the symbol should be placed
let point = MLNPointAnnotation()
point.coordinate = mapView.centerCoordinate
// Create a data source to hold the point data
let shapeSource = MLNShapeSource(identifier: "marker-source", shape: point, options: nil)
// Create a style layer for the symbol
let shapeLayer = MLNSymbolStyleLayer(identifier: "marker-style", source: shapeSource)
// Add the image to the style's sprite
if let image = UIImage(named: "house-icon") {
style.setImage(image, forName: "home-symbol")
}
// Tell the layer to use the image in the sprite
shapeLayer.iconImageName = NSExpression(forConstantValue: "home-symbol")
// Add the source and style layer to the map
style.addSource(shapeSource)
style.addLayer(shapeLayer)
}
}
// #-end-example-code
struct AddMarkerSymbolExampleUIViewControllerRepresentable: UIViewControllerRepresentable {
typealias UIViewControllerType = AddMarkerSymbolExampleUIKit
func makeUIViewController(context _: Context) -> AddMarkerSymbolExampleUIKit {
AddMarkerSymbolExampleUIKit()
}
func updateUIViewController(_: AddMarkerSymbolExampleUIKit, context _: Context) {}
}