summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorm-stephen <truestyle2005@163.com>2019-06-04 11:05:24 +0800
committerGitHub <noreply@github.com>2019-06-04 11:05:24 +0800
commit6742017a9a272a362efac537c6fd3938d6e0c95c (patch)
treeb0d5195a7383fcf92e84335329430724c4341857
parent015a64b2a25dcf19731c3ca454309d80e9ad9dee (diff)
downloadqtlocation-mapboxgl-6742017a9a272a362efac537c6fd3938d6e0c95c.tar.gz
[macos]Added an `MGLMapView.prefetchesTiles` property to configure lo… (#14816)
* [macos]Added an `MGLMapView.prefetchesTiles` property to configure lower-resolution tile prefetching behavior * [macos]Update changelog
-rw-r--r--platform/macos/CHANGELOG.md2
-rw-r--r--platform/macos/src/MGLMapView.h13
-rw-r--r--platform/macos/src/MGLMapView.mm5
3 files changed, 20 insertions, 0 deletions
diff --git a/platform/macos/CHANGELOG.md b/platform/macos/CHANGELOG.md
index 520f8c204b..9094e8ebbc 100644
--- a/platform/macos/CHANGELOG.md
+++ b/platform/macos/CHANGELOG.md
@@ -2,6 +2,8 @@
## master
+* Added an `MGLMapView.prefetchesTiles` property to configure lower-resolution tile prefetching behavior. ([#14816](https://github.com/mapbox/mapbox-gl-native/pull/14816))
+
### Styles and rendering
* Setting `MGLMapView.contentInset` now moves the map’s focal point to the center of the content frame after insetting. ([#14664](https://github.com/mapbox/mapbox-gl-native/pull/14664))
diff --git a/platform/macos/src/MGLMapView.h b/platform/macos/src/MGLMapView.h
index 21ae8c2974..35db5257d9 100644
--- a/platform/macos/src/MGLMapView.h
+++ b/platform/macos/src/MGLMapView.h
@@ -188,6 +188,19 @@ MGL_EXPORT IB_DESIGNABLE
*/
@property (nonatomic, readonly) NSView *attributionView;
+/**
+ A Boolean value indicating whether the map should prefetch tiles.
+
+ When this property is set to `YES`, the map view prefetches tiles designed for
+ a low zoom level and displays them until receiving more detailed tiles for the
+ current zoom level. The prefetched tiles typically contain simplified versions
+ of each shape, improving the map view’s perceived performance.
+
+ The default value of this property is `YES`.
+ */
+@property (nonatomic, assign) BOOL prefetchesTiles;
+
+
#pragma mark Manipulating the Viewpoint
/**
diff --git a/platform/macos/src/MGLMapView.mm b/platform/macos/src/MGLMapView.mm
index 04b895bb50..0a1ec5516a 100644
--- a/platform/macos/src/MGLMapView.mm
+++ b/platform/macos/src/MGLMapView.mm
@@ -654,6 +654,11 @@ public:
self.styleURL = styleURL;
}
+- (void)setPrefetchesTiles:(BOOL)prefetchesTiles
+{
+ _mbglMap->setPrefetchZoomDelta(prefetchesTiles ? mbgl::util::DEFAULT_PREFETCH_ZOOM_DELTA : 0);
+}
+
- (mbgl::Map *)mbglMap {
return _mbglMap;
}