// // GMSURLTileLayer.h // Google Maps SDK for iOS // // Copyright 2013 Google LLC // // Usage of this SDK is subject to the Google Maps/Google Earth APIs Terms of // Service: https://developers.google.com/maps/terms // #import "GMSTileLayer.h" @class NSURL; NS_ASSUME_NONNULL_BEGIN /** * |GMSTileURLConstructor| is a block taking |x|, |y| and |zoom| and returning an NSURL, or nil to * indicate no tile for that location. * * @related GMSURLTileLayer */ typedef NSURL *_Nullable (^GMSTileURLConstructor)(NSUInteger x, NSUInteger y, NSUInteger zoom); /** * GMSURLTileProvider fetches tiles based on the URLs returned from a GMSTileURLConstructor. For * example: *
* GMSTileURLConstructor constructor = ^(NSUInteger x, NSUInteger y, NSUInteger zoom) { * NSString *URLStr = * [NSString stringWithFormat:@"https://example.com/%d/%d/%d.png", x, y, zoom]; * return [NSURL URLWithString:URLStr]; * }; * GMSTileLayer *layer = * [GMSURLTileLayer tileLayerWithURLConstructor:constructor]; * layer.userAgent = @"SDK user agent"; * layer.map = map; ** * GMSURLTileProvider may not be subclassed and should only be created via its convenience * constructor. */ @interface GMSURLTileLayer : GMSTileLayer /** Convenience constructor. |constructor| must be non-nil. */ + (instancetype)tileLayerWithURLConstructor:(GMSTileURLConstructor)constructor; /** * Specify the user agent to describe your application. If this is nil (the default), the default * iOS user agent is used for HTTP requests. */ @property(nonatomic, copy, nullable) NSString *userAgent; @end NS_ASSUME_NONNULL_END