diff --git a/include/mbgl/osx/MGLMapView.h b/include/mbgl/osx/MGLMapView.h index 62a689fa1..ca55ba7cd 100644 --- a/include/mbgl/osx/MGLMapView.h +++ b/include/mbgl/osx/MGLMapView.h @@ -182,13 +182,29 @@ IB_DESIGNABLE */ @property (nonatomic) double zoomLevel; -/** The minimum zoom level that can be displayed by the receiver using the - current style. */ -@property (nonatomic, readonly) double maximumZoomLevel; +/** + * The minimum zoom level at which the map can be shown. + * + * Depending on the map view’s aspect ratio, the map view may be prevented + * from reaching the minimum zoom level, in order to keep the map from + * repeating within the current viewport. + * + * If the value of this property is greater than that of the + * maximumZoomLevel property, the behavior is undefined. + * + * The default minimumZoomLevel is 0. + */ +@property (nonatomic) double minimumZoomLevel; -/** The maximum zoom level that can be displayed by the receiver using the - current style. */ -@property (nonatomic, readonly) double minimumZoomLevel; +/** + * The maximum zoom level the map can be shown at. + * + * If the value of this property is smaller than that of the + * minimumZoomLevel property, the behavior is undefined. + * + * The default maximumZoomLevel is 20. + */ +@property (nonatomic) double maximumZoomLevel; /** Changes the zoom level of the map and optionally animates the change. diff --git a/platform/osx/src/MGLMapView.mm b/platform/osx/src/MGLMapView.mm index fe95427e5..96144d964 100644 --- a/platform/osx/src/MGLMapView.mm +++ b/platform/osx/src/MGLMapView.mm @@ -900,6 +900,16 @@ public: [self didChangeValueForKey:@"centerCoordinate"]; } +- (void)setMinimumZoomLevel:(double)minimumZoomLevel +{ + _mbglMap->setMinZoom(minimumZoomLevel); +} + +- (void)setMaximumZoomLevel:(double)maximumZoomLevel +{ + _mbglMap->setMaxZoom(maximumZoomLevel); +} + - (double)maximumZoomLevel { return _mbglMap->getMaxZoom(); }