diff options
Diffstat (limited to 'platform/ios/demo/Examples/Swift/CameraAnimationExample.swift')
-rw-r--r-- | platform/ios/demo/Examples/Swift/CameraAnimationExample.swift | 34 |
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)) + } +} |