タイル オーバーレイは、基本地図タイルの上に重ねて表示される画像のセットです。これらのタイルは透明化できるため、既存の地図に対象物を追加することができます。タイル オーバーレイには次のプロパティがあります。
- タイル プロバイダ
TileProvider
は、タイル オーバーレイで使用される画像を提供します。タイル プロバイダは、地図に追加する前に指定する必要があります。タイル プロバイダは、追加後に変更することはできませんが、特定の座標に対して異なる画像を返すようにタイル プロバイダの動作を変更できます。タイル プロバイダが提供するタイルが変更された場合、変更後にclearTileCache()
を呼び出して、以前のタイルがレンダリングされないようにする必要があります。- Z-Index
- 他のオーバーレイに対する、このタイル オーバーレイの描画順序(
GroundOverlay
、Circle
、Polyline
、Polygon
など。ただしMarker
は含まない)。z インデックスが大きいオーバーレイは、z インデックスが小さいオーバーレイの上に描画されます。z インデックスが同じオーバーレイの順序は任意です。デフォルトの zIndex は 0 です。 - 透明性
[0..1]
の範囲のタイル オーバーレイの透明度。0
はオーバーレイが不透明であることを意味し、1
はオーバーレイが完全に透明であることを意味します。指定されたビットマップがすでに透明になっている場合は、それに応じて各ピクセルの透明度が調整されます。たとえば、ビットマップのアルファ値が 200 で、タイル オーバーレイの透明度を 0.25 に指定すると、アルファ値 150 のピクセルが画面上にレンダリングされます。このプロパティの指定はオプションであり、デフォルトの透明度は 0(不透明)です。- 可視性
- タイル オーバーレイが表示されるか非表示にするか、つまりマップに描画されるかを示します。非表示のタイル オーバーレイは描画されませんが、他のすべてのプロパティを保持します。デフォルトは
true
です。つまり表示されます。
このクラスのメソッドは、メインスレッドでのみ呼び出す必要があります。そうしないと、IllegalStateException
が発生します。
タイル座標
世界はメルカトル図法(Wikipedia を参照)を使用して投影されます。地図の左(西)は -180 度、地図の右(東)は経度 180 度に相当します。地図を正方形にするために、地図の上(北)側は 85.0511 度の緯度に対応し、地図の下(南)側は -85.0511 度の緯度に対応します。この緯度の範囲外のエリアはレンダリングされません。
各ズームレベルで、地図はタイルに分割され、画面上に重ねられたタイルのみがダウンロードされてレンダリングされます。各タイルは正方形であり、マップは次のようにタイルに分割されます。
- ズームレベル 0 では、1 枚のタイルで全世界が表示されます。そのタイルの座標は(x、y)=(0, 0)です。
- ズームレベル 1 では、世界が 2 x 2 グリッドに配置された 4 つのタイルに分割されます。
- ...
- ズームレベル N では、世界が 2N x 2N グリッドに配置された 4N 個のタイルに分割されます。
GoogleMap.getMinZoomLevel
で、最大ズームレベルは GoogleMap.getMaxZoomLevel
です。タイルの座標は地図の左上(北西)から測定されます。ズームレベル N では、タイル座標の x
値の範囲は 0 ~ 2N - 1 になり、西から東に増分します。y
値の範囲は 0 ~ 2N - 1 で、北から南に増分します。
例
GoogleMap map; // ... get a map.
TileProvider tileProvider; // ... create a tile provider.
TileOverlay tileOverlay = map.addTileOverlay(
new TileOverlayOptions().tileProvider(tileProvider));
パブリック メソッドの概要
void |
clearTileCache()
タイル キャッシュをクリアして、すべてのタイルが
TileProvider から再度リクエストされるようにします。 |
ブール値 |
equals(Object other)
この
TileOverlay が等しいかどうかをテストします。 |
ブール値 |
getFadeIn()
オーバーレイ タイルがフェードインするかどうかを取得します。
|
文字列 |
getId()
このタイル オーバーレイの ID を取得します。
|
浮動小数点数 |
getTransparency()
このタイル オーバーレイの透明度を取得します。
|
浮動小数点数 |
getZIndex()
このタイル オーバーレイの zIndex を取得します。
|
整数 |
hashCode()
|
ブール値 |
isVisible()
このタイル オーバーレイの可視性を取得します。
|
void |
remove()
このタイル オーバーレイを地図から削除します。
|
void |
setFadeIn(ブール値 fadeIn)
オーバーレイ タイルがフェードインするかどうかを設定します。
|
void |
setTransparency(浮動小数点透明)
このタイル オーバーレイの透明度を設定します。
|
void |
setVisible(ブール値を表示)
このタイル オーバーレイを表示するかどうかを設定します。
|
void |
setZIndex(浮動小数点数の zIndex)
このタイル オーバーレイの zIndex を設定します。
|
継承されたメソッドの概要
パブリック メソッド
public void clearTileCache ()
タイル キャッシュをクリアして、すべてのタイルが TileProvider
から再度リクエストされるようにします。
このタイル オーバーレイから現在のタイルは、このメソッドを呼び出すと地図から消去されます。API は、タイルの小さなメモリ内キャッシュを保持します。タイルをそれより長くキャッシュ保存する場合は、ディスク上のキャッシュを実装する必要があります。
public boolean equals (Object other)
public boolean getFadeIn ()
オーバーレイ タイルがフェードインするかどうかを取得します。
戻り値
- タイルがフェードインする場合は
true
、そうでない場合はfalse
です。
公開 文字列 getId ()
このタイル オーバーレイの ID を取得します。
public float getTransparency ()
このタイル オーバーレイの透明度を取得します。
戻り値
- このタイル オーバーレイの透明度。
public float getZIndex ()
このタイル オーバーレイの zIndex を取得します。
戻り値
- タイル オーバーレイの zIndex。
public int hashCode ()
public boolean isVisible ()
このタイル オーバーレイの可視性を取得します。これは、タイル オーバーレイが実際に画面のビューポート内にあるかどうかを示すのではなく、画面のビューポートに含まれている場合は描画されるかどうかを返します。
戻り値
- このタイル オーバーレイの公開設定。
public void remove ()
このタイル オーバーレイを地図から削除します。
public void setFadeIn (ブール値 fadeIn)
オーバーレイ タイルがフェードインするかどうかを設定します。
パラメータ
フェードイン | true : タイルをフェードインさせます。false で即座にレンダリングします。
|
---|
public void setTransparency (浮動小数点の透明度)
このタイル オーバーレイの透明度を設定します。詳細については、このクラスの上部にあるドキュメントをご覧ください。
パラメータ
透明性 | [0..1] の範囲の浮動小数点数。0 はタイル オーバーレイが不透明であることを意味し、1 はタイル オーバーレイが透明であることを意味します。 |
---|
public void setVisible (ブール値の表示)
このタイル オーバーレイを表示するかどうかを設定します。非表示の場合、タイル オーバーレイは描画されませんが、他のすべてのプロパティは保持されます。タイル オーバーレイはデフォルトで表示されます。
パラメータ
表示 | このオーバーレイを表示する場合は true 、非表示にする場合は false に設定します。 |
---|
public void setZIndex (浮動小数点数 zIndex)
このタイル オーバーレイの zIndex を設定します。詳細については、このクラスの上部にあるドキュメントをご覧ください。
パラメータ
Z-index | このタイル オーバーレイの zIndex。 |
---|