diff --git a/platform/darwin/src/MGLRasterDEMSource.mm b/platform/darwin/src/MGLRasterDEMSource.mm index 27614b9ef40..753499ff94c 100644 --- a/platform/darwin/src/MGLRasterDEMSource.mm +++ b/platform/darwin/src/MGLRasterDEMSource.mm @@ -7,11 +7,10 @@ @implementation MGLRasterDEMSource -- (std::unique_ptr)pendingSourceWithIdentifier:(NSString *)identifier configurationURL:(NSURL *)configurationURL tileSize:(CGFloat)tileSize { - NSString *configurationURLString = configurationURL.mgl_URLByStandardizingScheme.absoluteString; - return std::make_unique(identifier.UTF8String, - configurationURLString.UTF8String, - uint16_t(round(tileSize))); +- (std::unique_ptr)pendingSourceWithIdentifier:(NSString *)identifier urlOrTileset:(mbgl::variant)urlOrTileset tileSize:(uint16_t)tileSize { + auto source = std::make_unique(identifier.UTF8String, + urlOrTileset, + tileSize); + return source; } - @end diff --git a/platform/darwin/src/MGLRasterTileSource.mm b/platform/darwin/src/MGLRasterTileSource.mm index e89367711eb..540e27ad7df 100644 --- a/platform/darwin/src/MGLRasterTileSource.mm +++ b/platform/darwin/src/MGLRasterTileSource.mm @@ -33,15 +33,16 @@ - (instancetype)initWithIdentifier:(NSString *)identifier configurationURL:(NSUR } - (instancetype)initWithIdentifier:(NSString *)identifier configurationURL:(NSURL *)configurationURL tileSize:(CGFloat)tileSize { - auto source = [self pendingSourceWithIdentifier:identifier configurationURL:configurationURL tileSize:tileSize]; + NSString *configurationURLString = configurationURL.mgl_URLByStandardizingScheme.absoluteString; + auto source = [self pendingSourceWithIdentifier:identifier urlOrTileset:configurationURLString.UTF8String tileSize:tileSize]; return self = [super initWithPendingSource:std::move(source)]; } -- (std::unique_ptr)pendingSourceWithIdentifier:(NSString *)identifier configurationURL:(NSURL *)configurationURL tileSize:(CGFloat)tileSize { - NSString *configurationURLString = configurationURL.mgl_URLByStandardizingScheme.absoluteString; - return std::make_unique(identifier.UTF8String, - configurationURLString.UTF8String, - uint16_t(round(tileSize))); +- (std::unique_ptr)pendingSourceWithIdentifier:(NSString *)identifier urlOrTileset:(mbgl::variant)urlOrTileset tileSize:(uint16_t)tileSize { + auto source = std::make_unique(identifier.UTF8String, + urlOrTileset, + tileSize); + return source; } - (instancetype)initWithIdentifier:(NSString *)identifier tileURLTemplates:(NSArray *)tileURLTemplates options:(nullable NSDictionary *)options { @@ -56,7 +57,7 @@ - (instancetype)initWithIdentifier:(NSString *)identifier tileURLTemplates:(NSAr tileSize = static_cast(round(tileSizeNumber.doubleValue)); } - auto source = std::make_unique(identifier.UTF8String, tileSet, tileSize); + auto source = [self pendingSourceWithIdentifier:identifier urlOrTileset:tileSet tileSize:tileSize]; return self = [super initWithPendingSource:std::move(source)]; } diff --git a/platform/darwin/src/MGLRasterTileSource_Private.h b/platform/darwin/src/MGLRasterTileSource_Private.h index 8502b811e20..55f342c7ffa 100644 --- a/platform/darwin/src/MGLRasterTileSource_Private.h +++ b/platform/darwin/src/MGLRasterTileSource_Private.h @@ -1,8 +1,10 @@ #import "MGLRasterTileSource.h" #include +#include namespace mbgl { + class Tileset; namespace style { class RasterSource; } @@ -14,7 +16,7 @@ NS_ASSUME_NONNULL_BEGIN @property (nonatomic, readonly, nullable) mbgl::style::RasterSource *rawSource; -- (std::unique_ptr)pendingSourceWithIdentifier:(NSString *)identifier configurationURL:(NSURL *)configurationURL tileSize:(CGFloat)tileSize; +- (std::unique_ptr)pendingSourceWithIdentifier:(NSString *)identifier urlOrTileset:(mbgl::variant)urlOrTileset tileSize:(uint16_t)tileSize; @end