GMSURLTileLayer クラス リファレンス


概要

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 が表示される地図。
整数zIndex
 zIndex 値の大きいタイルレイヤは、低い zIndex 値のタイルレイヤとオーバーレイの上に描画されます。
NSIntegertileSize
 返されるタイル画像の表示に使用するピクセル数(ポイントではない)を指定します。
浮動小数点数不透明度
 タイルレイヤの不透明度を指定します。
BOOL fadeIn
 タイルをフェードインするかどうかを指定します。

(これらはメンバー関数ではありません)。

typedef NSURL *_Nullable(^GMSTileURLConstructor(NSUInteger x, NSUInteger y, NSUInteger ズーム)
 GMSTileURLConstructor は、xyzoom を受け取り、NSURL を返すブロックです。その場所にタイルがないことを示す nil を返します。

メンバー関数のドキュメント

+ (instancetype) tileLayerWithURLConstructor: GMSTileURLConstructor コンストラクタ

コンビニエンス コンストラクタ。

constructor は nil 以外でなければなりません。

- (void) requestTileForX: (NSUInteger)  x
y: (NSUInteger)  y
Zoom: (NSUInteger)  ズーム
receive: (id< GMSTileReceiver >) レシーバー

requestTileForX:y:zoom:receiver: GMSTileOverlay の画像タイルを生成します。

サブクラスでオーバーライドする必要があります。指定された xyzoom のタイルは、後で receiver に渡す必要があります。

この位置で使用できるタイルがない場合は、kGMSTileLayerNoTile を指定します。一時的なエラーが発生し、タイルが後で使用可能になる場合は、nil が返されます。

このメソッドの呼び出しはメインスレッドで行われます。アプリのメインスレッドで実行されないブロッキング タイルレイヤを実装する基本クラスについては、GMSSyncTileLayer をご覧ください。

- (void) clearTileCache:

キャッシュをクリアして、すべてのタイルが再度リクエストされるようにします。


- (typedef NSURL* _Nullable(^ GMSTileURLConstructor)(NSUInteger x, NSUInteger y, NSUInteger zoom)) [related]

GMSTileURLConstructor は、xyzoom を受け取り、NSURL を返すブロックです。その場所にタイルがないことを示す nil を返します。


プロパティのドキュメント

- (NSString*) userAgent [read, write, copy]

アプリケーションを記述するユーザー エージェントを指定します。

これが nil(デフォルト)の場合、デフォルトの iOS ユーザー エージェントが HTTP リクエストに使用されます。

- (GMSMapView*) 地図 [read, write, assign, inherited]

この GMSTileOverlay が表示される地図。

このプロパティを設定すると、レイヤが地図に追加されます。nil に設定すると、このレイヤが地図から削除されます。レイヤは、最大 1 つの地図で同時にアクティブにできます。

-(int)zIndex [read, write, assign, inherited]

zIndex 値の大きいタイルレイヤは、低い zIndex 値のタイルレイヤとオーバーレイの上に描画されます。

値が等しい場合、描画順序は未定義になります。

-(NSInteger)tileSize [read, write, assign, inherited]

返されるタイル画像の表示に使用するピクセル数(ポイントではない)を指定します。

最良の結果を得るには、カスタムタイルの端の長さにする必要があります。デフォルトは 256 です。これは、Google マップ タイルの従来のサイズです。

128 ポイントに相当しない値(Retina デバイスの場合は 256 ピクセルなど)は、うまく機能しない可能性があるため、推奨されません。

例として、アプリケーション開発者は、Retina デバイス上に Retina タイル(512 ピクセルの端長)を提供し、非 Retina デバイスでのデフォルト値の 256 と同じビューあたりのタイル数を維持したいと考えるかもしれません。

- (浮動小数点数)不透明度 [read, write, assign, inherited]

タイルレイヤの不透明度を指定します。

これにより、タイル画像のアルファ チャンネルの乗数が得られます。

- (BOOL) fadeIn [read, write, assign, inherited]

タイルをフェードインするかどうかを指定します。

デフォルトは YES です。