diff options
-rw-r--r-- | platform/android/CHANGELOG.md | 1 | ||||
-rw-r--r-- | platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapboxMap.java | 46 | ||||
-rwxr-xr-x | platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/NativeMapView.java | 24 | ||||
-rw-r--r-- | platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/RuntimeStyleActivity.java | 2 | ||||
-rw-r--r-- | platform/android/checkstyle.xml | 5 | ||||
-rwxr-xr-x | platform/android/src/jni.cpp | 46 | ||||
-rw-r--r-- | platform/darwin/src/MGLStyle.h | 16 | ||||
-rw-r--r-- | platform/darwin/src/MGLStyle.mm | 30 | ||||
-rw-r--r-- | platform/darwin/src/NSDate+MGLAdditions.h | 5 | ||||
-rw-r--r-- | platform/darwin/src/NSDate+MGLAdditions.mm | 7 | ||||
-rw-r--r-- | platform/ios/CHANGELOG.md | 1 | ||||
-rw-r--r-- | platform/ios/app/MBXViewController.m | 2 | ||||
-rw-r--r-- | platform/ios/src/MGLMapView.mm | 24 | ||||
-rw-r--r-- | platform/macos/CHANGELOG.md | 1 | ||||
-rw-r--r-- | platform/macos/app/MapDocument.m | 3 | ||||
-rw-r--r-- | platform/macos/src/MGLMapView.mm | 16 |
16 files changed, 205 insertions, 24 deletions
diff --git a/platform/android/CHANGELOG.md b/platform/android/CHANGELOG.md index b89e498d21..473ac310ef 100644 --- a/platform/android/CHANGELOG.md +++ b/platform/android/CHANGELOG.md @@ -35,6 +35,7 @@ Mapbox welcomes participation and contributions from everyone. If you'd like to - Extracting all business logic related to annotations into a seperate class cfr. to core and the iOS codebase * Gesture handling bugs - Avoid calls to onFling when while pinch zooming [#7666](https://github.com/mapbox/mapbox-gl-native/issues/7666) +* Support for style-wide transition animation duration and delay [#6779](https://github.com/mapbox/mapbox-gl-native/issues/6779) ## 4.2.1 - December 22, 2016 diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapboxMap.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapboxMap.java index 2fa7fc4641..9e8073edb8 100644 --- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapboxMap.java +++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapboxMap.java @@ -166,6 +166,52 @@ public final class MapboxMap { // Style + /** + * <p> + * Get the animation duration for style changes. + * </p> + * The default value is zero, so any changes take effect without animation. + * + * @return Duration in seconds + */ + @UiThread + public long getTransitionDuration() { + return nativeMapView.getTransitionDuration(); + } + + /** + * Set the animation duration for style changes. + * + * @param duration Duration in seconds + */ + @UiThread + public void setTransitionDuration(long duration) { + nativeMapView.setTransitionDuration(duration); + } + + /** + * <p> + * Get the animation delay for style changes. + * </p> + * The default value is zero, so any changes begin to animate immediately. + * + * @return Delay in seconds + */ + @UiThread + public long getTransitionDelay() { + return nativeMapView.getTransitionDelay(); + } + + /** + * Set the animation delay for style changes. + * + * @param delay Delay in seconds + */ + @UiThread + public void setTransitionDelay(long delay) { + nativeMapView.setTransitionDelay(delay); + } + @Nullable @UiThread public Layer getLayer(@NonNull String layerId) { diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/NativeMapView.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/NativeMapView.java index 05d1bf1750..0c15480dee 100755 --- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/NativeMapView.java +++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/NativeMapView.java @@ -767,6 +767,22 @@ final class NativeMapView { // Runtime style Api + public long getTransitionDuration() { + return nativeGetTransitionDuration(nativeMapViewPtr); + } + + public void setTransitionDuration(long duration) { + nativeSetTransitionDuration(nativeMapViewPtr, duration); + } + + public long getTransitionDelay() { + return nativeGetTransitionDelay(nativeMapViewPtr); + } + + public void setTransitionDelay(long delay) { + nativeSetTransitionDelay(nativeMapViewPtr, delay); + } + public Layer getLayer(String layerId) { if (isDestroyedOn("getLayer")) { return null; @@ -1098,6 +1114,14 @@ final class NativeMapView { private native double[] nativeGetCameraValues(long nativeMapViewPtr); + private native long nativeGetTransitionDuration(long nativeMapViewPtr); + + private native void nativeSetTransitionDuration(long nativeMapViewPtr, long duration); + + private native long nativeGetTransitionDelay(long nativeMapViewPtr); + + private native void nativeSetTransitionDelay(long nativeMapViewPtr, long delay); + private native Layer nativeGetLayer(long nativeMapViewPtr, String layerId); private native void nativeAddLayer(long nativeMapViewPtr, long layerPtr, String before); diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/RuntimeStyleActivity.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/RuntimeStyleActivity.java index 2ac3a6fb00..983f82c53a 100644 --- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/RuntimeStyleActivity.java +++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/RuntimeStyleActivity.java @@ -239,6 +239,8 @@ public class RuntimeStyleActivity extends AppCompatActivity { private void setWaterColor() { Layer water = mapboxMap.getLayer("water"); if (water != null) { + mapboxMap.setTransitionDuration(5); + mapboxMap.setTransitionDelay(1); water.setProperties( visibility(VISIBLE), fillColor(Color.RED) diff --git a/platform/android/checkstyle.xml b/platform/android/checkstyle.xml index 6a429858a6..3449036e99 100644 --- a/platform/android/checkstyle.xml +++ b/platform/android/checkstyle.xml @@ -19,7 +19,10 @@ <!-- <module name="NewlineAtEndOfFile"> <property name="lineSeparator" value="lf" /> </module> --> - <module name="FileLength"/> + <module name="FileLength"> + <property name="max" value="2042"/> + </module> + <module name="FileTabCharacter"/> <!-- Trailing spaces --> diff --git a/platform/android/src/jni.cpp b/platform/android/src/jni.cpp index 5182e268f3..1ef7fec8fb 100755 --- a/platform/android/src/jni.cpp +++ b/platform/android/src/jni.cpp @@ -1082,6 +1082,48 @@ void nativeFlyTo(JNIEnv *env, jni::jobject* obj, jlong nativeMapViewPtr, jdouble nativeMapView->getMap().flyTo(cameraOptions, animationOptions); } +jlong nativeGetTransitionDuration(JNIEnv *env, jni::jobject* obj, jlong nativeMapViewPtr) { + assert(env); + assert(nativeMapViewPtr != 0); + + NativeMapView *nativeMapView = reinterpret_cast<NativeMapView *>(nativeMapViewPtr); + + const auto transitionOptions = nativeMapView->getMap().getTransitionOptions(); + return transitionOptions.duration.value_or(mbgl::Duration::zero()).count(); +} + +void nativeSetTransitionDuration(JNIEnv *env, jni::jobject* obj, jlong nativeMapViewPtr, jlong duration) { + assert(env); + assert(nativeMapViewPtr != 0); + + NativeMapView *nativeMapView = reinterpret_cast<NativeMapView *>(nativeMapViewPtr); + + auto transitionOptions = nativeMapView->getMap().getTransitionOptions(); + transitionOptions.duration = std::chrono::duration_cast<mbgl::Duration>(std::chrono::duration<jlong>(duration)); + nativeMapView->getMap().setTransitionOptions(transitionOptions); +} + +jlong nativeGetTransitionDelay(JNIEnv *env, jni::jobject* obj, jlong nativeMapViewPtr) { + assert(env); + assert(nativeMapViewPtr != 0); + + NativeMapView *nativeMapView = reinterpret_cast<NativeMapView *>(nativeMapViewPtr); + + const auto transitionOptions = nativeMapView->getMap().getTransitionOptions(); + return transitionOptions.delay.value_or(mbgl::Duration::zero()).count(); +} + +void nativeSetTransitionDelay(JNIEnv *env, jni::jobject* obj, jlong nativeMapViewPtr, jlong delay) { + assert(env); + assert(nativeMapViewPtr != 0); + + NativeMapView *nativeMapView = reinterpret_cast<NativeMapView *>(nativeMapViewPtr); + + auto transitionOptions = nativeMapView->getMap().getTransitionOptions(); + transitionOptions.delay = std::chrono::duration_cast<mbgl::Duration>(std::chrono::duration<jlong>(delay)); + nativeMapView->getMap().setTransitionOptions(transitionOptions); +} + jni::jobject* nativeGetLayer(JNIEnv *env, jni::jobject* obj, jlong nativeMapViewPtr, jni::jstring* layerId) { assert(env); assert(nativeMapViewPtr != 0); @@ -1876,6 +1918,10 @@ void registerNatives(JavaVM *vm) { MAKE_NATIVE_METHOD(nativeJumpTo, "(JDDDDD)V"), MAKE_NATIVE_METHOD(nativeEaseTo, "(JDDDJDDZ)V"), MAKE_NATIVE_METHOD(nativeFlyTo, "(JDDDJDD)V"), + MAKE_NATIVE_METHOD(nativeGetTransitionDuration, "(J)J"), + MAKE_NATIVE_METHOD(nativeSetTransitionDuration, "(JJ)V"), + MAKE_NATIVE_METHOD(nativeGetTransitionDelay, "(J)J"), + MAKE_NATIVE_METHOD(nativeSetTransitionDelay, "(JJ)V"), MAKE_NATIVE_METHOD(nativeGetLayer, "(JLjava/lang/String;)Lcom/mapbox/mapboxsdk/style/layers/Layer;"), MAKE_NATIVE_METHOD(nativeAddLayer, "(JJLjava/lang/String;)V"), MAKE_NATIVE_METHOD(nativeRemoveLayerById, "(JLjava/lang/String;)V"), diff --git a/platform/darwin/src/MGLStyle.h b/platform/darwin/src/MGLStyle.h index 9bd35142c2..25096748f6 100644 --- a/platform/darwin/src/MGLStyle.h +++ b/platform/darwin/src/MGLStyle.h @@ -442,6 +442,22 @@ MGL_EXPORT */ - (void)removeImageForName:(NSString *)name; +#pragma mark Managing a Style’s Transition Options + +/** + The duration in seconds to animate any changes to the style URL or to layout and paint attributes. + + By default, this property is set to zero seconds, so any changes take effect without animation. + */ +@property (nonatomic) NSTimeInterval transitionDuration; + +/** + The delay in seconds to before applying any changes to the style URL or to layout and paint attributes. + + By default, this property is set to zero seconds, so any changes begin to animate immediately. + */ +@property (nonatomic) NSTimeInterval transitionDelay; + @end NS_ASSUME_NONNULL_END diff --git a/platform/darwin/src/MGLStyle.mm b/platform/darwin/src/MGLStyle.mm index 7e96c08ccc..78c719050c 100644 --- a/platform/darwin/src/MGLStyle.mm +++ b/platform/darwin/src/MGLStyle.mm @@ -502,7 +502,7 @@ static NSURL *MGLStyleURL_emerald; newAppliedClasses.push_back([appliedClass UTF8String]); } - mbgl::style::TransitionOptions transition { { MGLDurationInSeconds(transitionDuration) } }; + mbgl::style::TransitionOptions transition { { MGLDurationInSecondsFromTimeInterval(transitionDuration) } }; self.mapView.mbglMap->setTransitionOptions(transition); self.mapView.mbglMap->setClasses(newAppliedClasses); } @@ -570,6 +570,34 @@ static NSURL *MGLStyleURL_emerald; return spriteImage ? [[MGLImage alloc] initWithMGLSpriteImage:spriteImage] : nil; } +#pragma mark Style transitions + +- (void)setTransitionDuration:(NSTimeInterval)duration +{ + auto transitionOptions = self.mapView.mbglMap->getTransitionOptions(); + transitionOptions.duration = MGLDurationInSecondsFromTimeInterval(duration); + self.mapView.mbglMap->setTransitionOptions(transitionOptions); +} + +- (NSTimeInterval)transitionDuration +{ + const mbgl::style::TransitionOptions transitionOptions = self.mapView.mbglMap->getTransitionOptions(); + return MGLTimeIntervalFromDurationInSeconds(transitionOptions.duration.value_or(mbgl::Duration::zero())); +} + +- (void)setTransitionDelay:(NSTimeInterval)delay +{ + auto transitionOptions = self.mapView.mbglMap->getTransitionOptions(); + transitionOptions.delay = MGLDurationInSecondsFromTimeInterval(delay); + self.mapView.mbglMap->setTransitionOptions(transitionOptions); +} + +- (NSTimeInterval)transitionDelay +{ + const mbgl::style::TransitionOptions transitionOptions = self.mapView.mbglMap->getTransitionOptions(); + return MGLTimeIntervalFromDurationInSeconds(transitionOptions.delay.value_or(mbgl::Duration::zero())); +} + - (NSString *)description { return [NSString stringWithFormat:@"<%@: %p; name = %@, URL = %@>", diff --git a/platform/darwin/src/NSDate+MGLAdditions.h b/platform/darwin/src/NSDate+MGLAdditions.h index 918aae233f..820d1bd9e2 100644 --- a/platform/darwin/src/NSDate+MGLAdditions.h +++ b/platform/darwin/src/NSDate+MGLAdditions.h @@ -5,6 +5,9 @@ @interface NSDate (MGLAdditions) /// Converts from a duration in seconds to a duration object usable in mbgl. -mbgl::Duration MGLDurationInSeconds(NSTimeInterval duration); +mbgl::Duration MGLDurationInSecondsFromTimeInterval(NSTimeInterval duration); + +/// Converts from an mbgl duration object to a duration in seconds. +NSTimeInterval MGLTimeIntervalFromDurationInSeconds(mbgl::Duration duration); @end diff --git a/platform/darwin/src/NSDate+MGLAdditions.mm b/platform/darwin/src/NSDate+MGLAdditions.mm index 75072ad7ff..deac3c4881 100644 --- a/platform/darwin/src/NSDate+MGLAdditions.mm +++ b/platform/darwin/src/NSDate+MGLAdditions.mm @@ -2,9 +2,14 @@ @implementation NSDate (MGLAdditions) -mbgl::Duration MGLDurationInSeconds(NSTimeInterval duration) +mbgl::Duration MGLDurationInSecondsFromTimeInterval(NSTimeInterval duration) { return std::chrono::duration_cast<mbgl::Duration>(std::chrono::duration<NSTimeInterval>(duration)); } +NSTimeInterval MGLTimeIntervalFromDurationInSeconds(mbgl::Duration duration) +{ + return duration.count(); +} + @end diff --git a/platform/ios/CHANGELOG.md b/platform/ios/CHANGELOG.md index 00fdf9f2c1..86d96750d7 100644 --- a/platform/ios/CHANGELOG.md +++ b/platform/ios/CHANGELOG.md @@ -8,6 +8,7 @@ Mapbox welcomes participation and contributions from everyone. Please read [CONT * Improved the line wrapping behavior of point-placed labels written in Chinese, Japanese, and Yi. ([#6828](https://github.com/mapbox/mapbox-gl-native/pull/6828)) * Fixed an issue where translucent, non-view-backed point annotations along tile boundaries would be drawn darker than expected. ([#6832](https://github.com/mapbox/mapbox-gl-native/pull/6832)) * Added a Simplified Chinese localization. ([#7316](https://github.com/mapbox/mapbox-gl-native/pull/7316)) +* Support for style-wide transition animation duration and delay. [#6779](https://github.com/mapbox/mapbox-gl-native/issues/6779) ## 3.4.0 diff --git a/platform/ios/app/MBXViewController.m b/platform/ios/app/MBXViewController.m index a14ad9350f..63cde71f27 100644 --- a/platform/ios/app/MBXViewController.m +++ b/platform/ios/app/MBXViewController.m @@ -819,6 +819,8 @@ typedef NS_ENUM(NSInteger, MBXSettingsMiscellaneousRows) { - (void)styleBuildingLayer { + self.mapView.style.transitionDuration = 5; + self.mapView.style.transitionDelay = 1; MGLFillStyleLayer *buildingLayer = (MGLFillStyleLayer *)[self.mapView.style layerWithIdentifier:@"building"]; buildingLayer.fillColor = [MGLStyleValue<UIColor *> valueWithRawValue:[UIColor blackColor]]; } diff --git a/platform/ios/src/MGLMapView.mm b/platform/ios/src/MGLMapView.mm index c211d4419b..e6ebd4492f 100644 --- a/platform/ios/src/MGLMapView.mm +++ b/platform/ios/src/MGLMapView.mm @@ -1226,7 +1226,7 @@ public: if (drift) { CGPoint offset = CGPointMake(velocity.x * self.decelerationRate / 4, velocity.y * self.decelerationRate / 4); - _mbglMap->moveBy({ offset.x, offset.y }, MGLDurationInSeconds(self.decelerationRate)); + _mbglMap->moveBy({ offset.x, offset.y }, MGLDurationInSecondsFromTimeInterval(self.decelerationRate)); } [self notifyGestureDidEndWithDrift:drift]; @@ -1316,7 +1316,7 @@ public: if (velocity && duration) { - _mbglMap->setScale(newScale, mbgl::ScreenCoordinate { centerPoint.x, centerPoint.y }, MGLDurationInSeconds(duration)); + _mbglMap->setScale(newScale, mbgl::ScreenCoordinate { centerPoint.x, centerPoint.y }, MGLDurationInSecondsFromTimeInterval(duration)); } [self notifyGestureDidEndWithDrift:velocity && duration]; @@ -1375,7 +1375,7 @@ public: CGFloat newRadians = radians + velocity * decelerationRate * 0.1; CGFloat newDegrees = MGLDegreesFromRadians(newRadians) * -1; - _mbglMap->setBearing(newDegrees, mbgl::ScreenCoordinate { centerPoint.x, centerPoint.y }, MGLDurationInSeconds(decelerationRate)); + _mbglMap->setBearing(newDegrees, mbgl::ScreenCoordinate { centerPoint.x, centerPoint.y }, MGLDurationInSecondsFromTimeInterval(decelerationRate)); [self notifyGestureDidEndWithDrift:YES]; @@ -1504,7 +1504,7 @@ public: CGPoint gesturePoint = [self anchorPointForGesture:doubleTap]; mbgl::ScreenCoordinate center(gesturePoint.x, gesturePoint.y); - _mbglMap->scaleBy(2, center, MGLDurationInSeconds(MGLAnimationDuration)); + _mbglMap->scaleBy(2, center, MGLDurationInSecondsFromTimeInterval(MGLAnimationDuration)); __weak MGLMapView *weakSelf = self; @@ -1532,7 +1532,7 @@ public: CGPoint gesturePoint = [self anchorPointForGesture:twoFingerTap]; mbgl::ScreenCoordinate center(gesturePoint.x, gesturePoint.y); - _mbglMap->scaleBy(0.5, center, MGLDurationInSeconds(MGLAnimationDuration)); + _mbglMap->scaleBy(0.5, center, MGLDurationInSecondsFromTimeInterval(MGLAnimationDuration)); __weak MGLMapView *weakSelf = self; @@ -2288,7 +2288,7 @@ public: mbgl::AnimationOptions animationOptions; if (duration) { - animationOptions.duration.emplace(MGLDurationInSeconds(duration)); + animationOptions.duration.emplace(MGLDurationInSecondsFromTimeInterval(duration)); animationOptions.easing.emplace(MGLUnitBezierForMediaTimingFunction(function)); } if (completion) @@ -2329,7 +2329,7 @@ public: _mbglMap->setZoom(zoomLevel, MGLEdgeInsetsFromNSEdgeInsets(self.contentInset), - MGLDurationInSeconds(duration)); + MGLDurationInSecondsFromTimeInterval(duration)); } - (void)setMinimumZoomLevel:(double)minimumZoomLevel @@ -2441,7 +2441,7 @@ public: mbgl::AnimationOptions animationOptions; if (duration > 0) { - animationOptions.duration.emplace(MGLDurationInSeconds(duration)); + animationOptions.duration.emplace(MGLDurationInSecondsFromTimeInterval(duration)); animationOptions.easing.emplace(MGLUnitBezierForMediaTimingFunction(function)); } if (completion) @@ -2489,13 +2489,13 @@ public: { _mbglMap->setBearing(direction, MGLEdgeInsetsFromNSEdgeInsets(self.contentInset), - MGLDurationInSeconds(duration)); + MGLDurationInSecondsFromTimeInterval(duration)); } else { CGPoint centerPoint = self.userLocationAnnotationViewCenter; _mbglMap->setBearing(direction, mbgl::ScreenCoordinate { centerPoint.x, centerPoint.y }, - MGLDurationInSeconds(duration)); + MGLDurationInSecondsFromTimeInterval(duration)); } } @@ -2548,7 +2548,7 @@ public: mbgl::AnimationOptions animationOptions; if (duration > 0) { - animationOptions.duration.emplace(MGLDurationInSeconds(duration)); + animationOptions.duration.emplace(MGLDurationInSecondsFromTimeInterval(duration)); animationOptions.easing.emplace(MGLUnitBezierForMediaTimingFunction(function)); } if (completion) @@ -2594,7 +2594,7 @@ public: mbgl::AnimationOptions animationOptions; if (duration >= 0) { - animationOptions.duration = MGLDurationInSeconds(duration); + animationOptions.duration = MGLDurationInSecondsFromTimeInterval(duration); } if (peakAltitude >= 0) { diff --git a/platform/macos/CHANGELOG.md b/platform/macos/CHANGELOG.md index fe1a316fab..67fdbedad8 100644 --- a/platform/macos/CHANGELOG.md +++ b/platform/macos/CHANGELOG.md @@ -6,6 +6,7 @@ * Improved the line wrapping behavior of point-placed labels written in Chinese, Japanese, and Yi. ([#6828](https://github.com/mapbox/mapbox-gl-native/pull/6828)) * Fixed an issue where translucent point annotations along tile boundaries would be drawn darker than expected. ([#6832](https://github.com/mapbox/mapbox-gl-native/pull/6832)) * Added a Simplified Chinese localization. ([#7316](https://github.com/mapbox/mapbox-gl-native/pull/7316), [#7503](https://github.com/mapbox/mapbox-gl-native/pull/7503)) +* Support for style-wide transition animation duration and delay. [#6779](https://github.com/mapbox/mapbox-gl-native/issues/6779) ## 0.3.0 diff --git a/platform/macos/app/MapDocument.m b/platform/macos/app/MapDocument.m index 64833a8560..40fd9e4600 100644 --- a/platform/macos/app/MapDocument.m +++ b/platform/macos/app/MapDocument.m @@ -683,6 +683,9 @@ NS_ARRAY_OF(id <MGLAnnotation>) *MBXFlattenedShapes(NS_ARRAY_OF(id <MGLAnnotatio } - (IBAction)manipulateStyle:(id)sender { + self.mapView.style.transitionDuration = 5; + self.mapView.style.transitionDelay = 1; + MGLFillStyleLayer *fillStyleLayer = (MGLFillStyleLayer *)[self.mapView.style layerWithIdentifier:@"water"]; MGLStyleValue *colorFunction = [MGLStyleValue<NSColor *> valueWithStops:@{ diff --git a/platform/macos/src/MGLMapView.mm b/platform/macos/src/MGLMapView.mm index 0db059dcf2..e9d8fc5f45 100644 --- a/platform/macos/src/MGLMapView.mm +++ b/platform/macos/src/MGLMapView.mm @@ -979,7 +979,7 @@ public: [self willChangeValueForKey:@"centerCoordinate"]; _mbglMap->setLatLng(MGLLatLngFromLocationCoordinate2D(centerCoordinate), MGLEdgeInsetsFromNSEdgeInsets(self.contentInsets), - MGLDurationInSeconds(animated ? MGLAnimationDuration : 0)); + MGLDurationInSecondsFromTimeInterval(animated ? MGLAnimationDuration : 0)); [self didChangeValueForKey:@"centerCoordinate"]; } @@ -987,7 +987,7 @@ public: [self willChangeValueForKey:@"centerCoordinate"]; _mbglMap->cancelTransitions(); _mbglMap->moveBy({ delta.x, delta.y }, - MGLDurationInSeconds(animated ? MGLAnimationDuration : 0)); + MGLDurationInSecondsFromTimeInterval(animated ? MGLAnimationDuration : 0)); [self didChangeValueForKey:@"centerCoordinate"]; } @@ -1023,7 +1023,7 @@ public: [self willChangeValueForKey:@"zoomLevel"]; _mbglMap->setZoom(zoomLevel, MGLEdgeInsetsFromNSEdgeInsets(self.contentInsets), - MGLDurationInSeconds(animated ? MGLAnimationDuration : 0)); + MGLDurationInSecondsFromTimeInterval(animated ? MGLAnimationDuration : 0)); [self didChangeValueForKey:@"zoomLevel"]; } @@ -1035,7 +1035,7 @@ public: [self willChangeValueForKey:@"centerCoordinate"]; [self willChangeValueForKey:@"zoomLevel"]; mbgl::ScreenCoordinate center(point.x, self.bounds.size.height - point.y); - _mbglMap->scaleBy(scaleFactor, center, MGLDurationInSeconds(animated ? MGLAnimationDuration : 0)); + _mbglMap->scaleBy(scaleFactor, center, MGLDurationInSecondsFromTimeInterval(animated ? MGLAnimationDuration : 0)); [self didChangeValueForKey:@"zoomLevel"]; [self didChangeValueForKey:@"centerCoordinate"]; } @@ -1092,7 +1092,7 @@ public: [self willChangeValueForKey:@"direction"]; _mbglMap->setBearing(direction, MGLEdgeInsetsFromNSEdgeInsets(self.contentInsets), - MGLDurationInSeconds(animated ? MGLAnimationDuration : 0)); + MGLDurationInSecondsFromTimeInterval(animated ? MGLAnimationDuration : 0)); [self didChangeValueForKey:@"direction"]; } @@ -1126,7 +1126,7 @@ public: mbgl::CameraOptions cameraOptions = [self cameraOptionsObjectForAnimatingToCamera:camera]; mbgl::AnimationOptions animationOptions; if (duration > 0) { - animationOptions.duration.emplace(MGLDurationInSeconds(duration)); + animationOptions.duration.emplace(MGLDurationInSecondsFromTimeInterval(duration)); animationOptions.easing.emplace(MGLUnitBezierForMediaTimingFunction(function)); } if (completion) { @@ -1162,7 +1162,7 @@ public: mbgl::CameraOptions cameraOptions = [self cameraOptionsObjectForAnimatingToCamera:camera]; mbgl::AnimationOptions animationOptions; if (duration >= 0) { - animationOptions.duration = MGLDurationInSeconds(duration); + animationOptions.duration = MGLDurationInSecondsFromTimeInterval(duration); } if (peakAltitude >= 0) { CLLocationDegrees peakLatitude = (self.centerCoordinate.latitude + camera.centerCoordinate.latitude) / 2; @@ -1228,7 +1228,7 @@ public: mbgl::CameraOptions cameraOptions = _mbglMap->cameraForLatLngBounds(MGLLatLngBoundsFromCoordinateBounds(bounds), padding); mbgl::AnimationOptions animationOptions; if (animated) { - animationOptions.duration = MGLDurationInSeconds(MGLAnimationDuration); + animationOptions.duration = MGLDurationInSecondsFromTimeInterval(MGLAnimationDuration); } [self willChangeValueForKey:@"visibleCoordinateBounds"]; |