Add option to prefetch low-resolution tiles (#14031)

* Add option to prefetch low-resolution tiles
This commit is contained in:
m-stephen
2019-03-06 12:02:31 +08:00
committed by GitHub
parent 113179cddd
commit 383fde6804
3 changed files with 21 additions and 0 deletions

View File

@@ -5,6 +5,7 @@ Mapbox welcomes participation and contributions from everyone. Please read [CONT
## master
* Client-side text rendering of CJK ideographs is now enabled by default. ([#13988](https://github.com/mapbox/mapbox-gl-native/pull/13988))
* Added an MGLMapView.prefetchesTiles property that you can disable if you don’t want to prefetch simplified tiles as a performance optimization. ([#14031](https://github.com/mapbox/mapbox-gl-native/pull/14031))
## 4.9.0 - February 27, 2019

View File

@@ -352,6 +352,18 @@ MGL_EXPORT IB_DESIGNABLE
*/
@property (nonatomic, assign) MGLMapViewPreferredFramesPerSecond preferredFramesPerSecond;
/**
A Boolean value indicating whether the map should prefetch tiles.
When this property is set to YES, the map view prefetches loads 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;
@property (nonatomic) NSArray<NSString *> *styleClasses __attribute__((unavailable("Support for style classes has been removed.")));
- (BOOL)hasStyleClass:(NSString *)styleClass __attribute__((unavailable("Support for style classes has been removed.")));

View File

@@ -2630,6 +2630,14 @@ public:
}
}
- (void)setPrefetchesTiles:(BOOL)prefetchesTiles{
_mbglMap->setPrefetchZoomDelta(prefetchesTiles ? mbgl::util::DEFAULT_PREFETCH_ZOOM_DELTA : 0);
}
- (BOOL)prefetchesTiles{
return _mbglMap->getPrefetchZoomDelta() > 0 ? YES : NO;
}
#pragma mark - Accessibility -
- (NSString *)accessibilityValue