// // 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