aboutsummaryrefslogtreecommitdiffstats
path: root/platform/ios/demo/Examples/Swift/CameraAnimationExample.swift
diff options
context:
space:
mode:
Diffstat (limited to 'platform/ios/demo/Examples/Swift/CameraAnimationExample.swift')
-rw-r--r--platform/ios/demo/Examples/Swift/CameraAnimationExample.swift34
1 files changed, 34 insertions, 0 deletions
diff --git a/platform/ios/demo/Examples/Swift/CameraAnimationExample.swift b/platform/ios/demo/Examples/Swift/CameraAnimationExample.swift
new file mode 100644
index 000000000..1fefa4940
--- /dev/null
+++ b/platform/ios/demo/Examples/Swift/CameraAnimationExample.swift
@@ -0,0 +1,34 @@
+import Mapbox
+
+@objc(CameraAnimationExample_Swift)
+
+class CameraAnimationExample_Swift: UIViewController, MGLMapViewDelegate {
+ override func viewDidLoad() {
+ super.viewDidLoad()
+
+ let mapView = MGLMapView(frame: view.bounds)
+ mapView.autoresizingMask = [.flexibleWidth, .flexibleHeight]
+ mapView.delegate = self
+
+ mapView.styleURL = MGLStyle.outdoorsStyleURL(withVersion: 9);
+
+ // Mauna Kea, Hawaii
+ let center = CLLocationCoordinate2D(latitude: 19.820689, longitude: -155.468038)
+
+ // Optionally set a starting point.
+ mapView.setCenter(center, zoomLevel: 7, direction: 0, animated: false)
+
+ view.addSubview(mapView)
+ }
+
+ func mapViewDidFinishLoadingMap(_ mapView: MGLMapView) {
+ // Wait for the map to load before initiating the first camera movement.
+
+ // Create a camera that rotates around the same center point, rotating 180°.
+ // `fromDistance:` is meters above mean sea level that an eye would have to be in order to see what the map view is showing.
+ let camera = MGLMapCamera(lookingAtCenter: mapView.centerCoordinate, fromDistance: 4500, pitch: 15, heading: 180)
+
+ // Animate the camera movement over 5 seconds.
+ mapView.setCamera(camera, withDuration: 5, animationTimingFunction: CAMediaTimingFunction(name: kCAMediaTimingFunctionEaseInEaseOut))
+ }
+}