概要
GMSURLTileProvider は、GMSTileURLConstructor から返された URL に基づいてタイルをフェッチします。
次に例を示します。
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 はサブクラス化できないため、コンビニエンス コンストラクタを介してのみ作成する必要があります。
GMSTileLayer を継承します。
公開メンバー関数 | |
(void) | - requestTileForX:y:zoom:receiver: |
requestTileForX:y:zoom:receiver: は GMSTileOverlay の画像タイルを生成します。 | |
(void) | - clearTileCache |
キャッシュを消去し、すべてのタイルが再度リクエストされるようにします。 | |
静的パブリック メンバー関数 | |
(instancetype) | + tileLayerWithURLConstructor: |
コンビニエンス コンストラクタ。 | |
プロパティ | |
NSString * | userAgent |
ユーザー エージェントを指定して、アプリケーションを記述します。 | |
GMSMapView * | map |
この GMSTileOverlay が表示される地図です。 | |
int | zIndex |
zIndex 値が高いタイルレイヤは、zIndex 値が低いタイルレイヤとオーバーレイの上に描画されます。 | |
NSInteger | tileSize |
返されたタイル画像の表示に使用するピクセル数(ポイント数ではない)を指定します。 | |
float | 不透明度 |
タイルレイヤの不透明度を指定します。 | |
BOOL | fadeIn |
タイルをフェードインするかどうかを指定します。 | |
関連する関数 | |
(これらはメンバー関数ではありません)。 | |
typedef NSURL *_Nullable(^ | GMSTileURLConstructor )(NSUInteger x、NSUInteger y、NSUInteger ズーム) |
GMSTileURLConstructor は、x 、y 、zoom を受け取って NSURL を返すブロックです。その場所にタイルがないことを示す場合は nil を返します。 |
メンバー関数のドキュメント
+ (instancetype) tileLayerWithURLConstructor: | (GMSTileURLConstructor) | コンストラクタ |
コンビニエンス コンストラクタ。
constructor
は nil 以外にする必要があります。
- (void) requestTileForX: | (NSUInteger) | x | |
y: | (NSUInteger) | y | |
zoom: | (NSUInteger) | ズーム | |
受信先: | (id< GMSTileReceiver >) | Receiver | |
requestTileForX:y:zoom:receiver: は GMSTileOverlay の画像タイルを生成します。
サブクラスでオーバーライドする必要があります。指定された x
、y
、zoom
のタイルは、後で receiver
に渡す必要があります。
この位置で使用できるタイルがない場合は kGMSTileLayerNoTile を指定し、一時的なエラーが発生してタイルが後で使用可能になる場合は nil を指定します。
このメソッドの呼び出しはメインスレッドで行われます。アプリのメインスレッドで実行されないブロック タイル レイヤを実装する基本クラスについては、GMSSyncTileLayer をご覧ください。
-(void)clearTileCache |
キャッシュを消去し、すべてのタイルが再度リクエストされるようにします。
友だちと関連関数のドキュメント
- (typedef NSURL* _Nullable(^ GMSTileURLConstructor)(NSUInteger x, NSUInteger y, NSUInteger ズーム)) [related] |
GMSTileURLConstructor
は、x
、y
、zoom
を受け取って NSURL を返すブロックです。その場所にタイルがないことを示す場合は nil を返します。
プロパティのドキュメント
- (NSString*) userAgent [read, write, copy] |
ユーザー エージェントを指定して、アプリケーションを記述します。
nil(デフォルト)の場合、HTTP リクエストにはデフォルトの iOS ユーザー エージェントが使用されます。
- (GMSMapView*) map [read, write, assign, inherited] |
この GMSTileOverlay が表示される地図です。
このプロパティを設定すると、地図にレイヤが追加されます。nil に設定すると、このレイヤが地図から削除されます。レイヤは、一度に最大 1 つの地図でアクティブにできます。
-(整数)zIndex [read, write, assign, inherited] |
zIndex
値が高いタイルレイヤは、zIndex
値が低いタイルレイヤとオーバーレイの上に描画されます。
同じ値を指定すると、描画の順序は定義されません。
-(NSInteger)tileSize [read, write, assign, inherited] |
返されたタイル画像の表示に使用するピクセル数(ポイント数ではない)を指定します。
最良の結果を得るには、これはカスタムタイルの端の長さです。デフォルトは 256(Google マップのタイルの従来のサイズ)です。
128 ポイントに相当する値(網膜デバイスでは 256 ピクセルなど)未満の値を指定すると、パフォーマンスが低下する可能性があるため、推奨されません。
一例として、アプリケーション デベロッパーは、Retina デバイス上に Retina タイル(512 ピクセルエッジの長さ)を提供し、非 Retina デバイスに対するデフォルト値の 256 と同じビューあたりのタイル数を維持したい場合があります。
-(浮動小数点数)opacity [read, write, assign, inherited] |
タイルレイヤの不透明度を指定します。
これにより、タイル画像のアルファ チャンネルの乗数が提供されます。
-(BOOL)fadeIn [read, write, assign, inherited] |
タイルをフェードインするかどうかを指定します。
デフォルトは YES です。