地面オーバーレイは、地図に固定されている画像です。地面オーバーレイには次の特性があります。
- 位置
- 地面オーバーレイの位置を指定するには、次の 2 つの方法があります。
- 場所を使用する場合: 地面オーバーレイの画像、アンカーが固定される
LatLng
、オーバーレイの幅(メートル単位)を指定する必要があります。アンカーは、デフォルトでは画像の上から 50%、左から 50% の位置に配置されます。これは変更できます。必要に応じて、オーバーレイの高さ(メートル単位)を指定できます。オーバーレイの高さを指定しなかった場合は、画像のアスペクト比を保持するよう高さが自動的に計算されます。 - 境界の使用: 画像を格納する
LatLngBounds
を指定する必要があります。
IllegalArgumentException
がスローされます。また、GroundOverlayOptions
オブジェクト内で位置を指定する際は、これらのメソッドのいずれか 1 つを使用する必要があります。そうしないと、2 つ目のメソッドを使用して位置を指定するとIllegalStateException
がスローされます。 - 場所を使用する場合: 地面オーバーレイの画像、アンカーが固定される
- 画像
- このオーバーレイに使用する画像(
BitmapDescriptor
形式)。画像は指定された位置に合わせて拡大縮小されます。地面オーバーレイを地図に追加する前に、画像を指定する必要があります。指定していない場合、地図に追加されたときにIllegalArgumentException
がスローされます。 - bearing
- 画像を時計回りに回転させる量。回転の中心が画像のアンカーになります。これは省略可能で、デフォルトの bearing は 0 です。つまり、画像は上が北になるように調整されます。
- zIndex
- この地面オーバーレイが他のオーバーレイに対して描画される順序(
Polyline
とTileOverlay
を含むが、Marker
は除く)。zIndex が大きいオーバーレイは、zIndex が小さいオーバーレイの上に描画されます。zIndex 値が同じオーバーレイの順序は任意です。これは省略可能で、デフォルトの zIndex は 0 です。 - 透明性
- 範囲
[0..1]
における地面オーバーレイの透明度。0
はオーバーレイが不透明であることを示し、1
はオーバーレイが完全に透明であることを意味します。指定したビットマップがすでに部分的に透明になっている場合、それに応じて各ピクセルの透明度がスケーリングされます(たとえば、ビットマップのピクセルのアルファ値が 200 で、地面オーバーレイの透明度を 0.25 に指定した場合、ピクセルはアルファ値が 150 の画面上にレンダリングされます)。このプロパティの指定は任意であり、デフォルトの透明度は 0(不透明)です。 - 公開設定
- 地面オーバーレイを表示するか非表示にするか(つまり、地図上に描画されるかどうか)を指定します。非表示の地面オーバーレイは描画されませんが、他のすべてのプロパティを保持します。これは省略可能です。デフォルトの公開設定は
true
(表示可能)です。 - クリックされやすさ
- 地面オーバーレイがクリックされたときに発生するイベントを処理する場合は、このプロパティを
true
に設定します。この値はいつでも変更できます。デフォルトはfalse
です。このプロパティがtrue
に設定されている場合、アプリは、setOnGroundOverlayClickListener(GoogleMap.OnGroundOverlayClickListener)
を通じて登録されたGoogleMap.OnGroundOverlayClickListener
に通知を受信します。 - タグ
- 地面オーバーレイに関連付けられた
Object
。たとえばObject
には、地面オーバーレイの内容に関するデータを含めることができます。この方法は、個別のMap<GroundOverlay, Object>
を保存するよりも簡単です。別の例として、データセットの ID に対応するString
ID を関連付けることができます。Google Maps SDK for Android は、このプロパティの読み取りも書き込みも行いません。
このクラスのメソッドは、Android UI スレッドで呼び出す必要があります。そうしないと、実行時に IllegalStateException
がスローされます。
例
GoogleMap map = ...; // get a map.
BitmapDescriptor imageDescriptor = ...; // get an image.
LatLngBounds bounds = ...; // get a bounds
// Adds a ground overlay with 50% transparency.
GroundOverlay groundOverlay = map.addGroundOverlay(new GroundOverlayOptions()
.image(imageDescriptor)
.positionFromBounds(bounds)
.transparency(0.5));
パブリック メソッドの概要
ブール値 |
equals(Object other)
この
GroundOverlay が他と等しいかどうかをテストします。 |
浮動小数点数 |
getBearing()
地面オーバーレイの方向指定を、北から時計回りの角度で取得します。
|
LatLngBounds |
getBounds()
地面オーバーレイの境界を取得します。
|
浮動小数点数 |
getHeight()
地面オーバーレイの高さを取得します。
|
文字列 |
getId()
この地面オーバーレイの ID を取得します。
|
LatLng |
getPosition()
アンカー ポイントの位置を取得します。
|
オブジェクト |
getTag()
円のタグを取得します。
|
浮動小数点数 |
getTransparency()
この地面オーバーレイの透明度を取得します。
|
浮動小数点数 |
getWidth()
地面オーバーレイの幅を取得します。
|
浮動小数点数 |
getZIndex()
この地面オーバーレイの zIndex を取得します。
|
整数 |
hashCode()
|
ブール値 |
isClickable()
地面オーバーレイのクリック可能性を取得します。
|
ブール値 |
isVisible()
この地面オーバーレイの表示を取得します。
|
void |
remove()
地図からこの地面オーバーレイを削除します。
|
void |
setBearing(フローティング ベアリング)
地面オーバーレイの方向(地面オーバーレイの垂直軸が指す方向)を、北から時計回りの角度で設定します。
|
void |
setClickable(ブール値のクリック able)
地面オーバーレイのクリック可能性を設定します。
|
void |
setDimensions(浮動小数点数の幅、浮動小数点数の高さ)
地面オーバーレイのサイズを設定します。
|
void |
setDimensions(浮動小数点数の幅)
地面オーバーレイの幅を設定します。
|
void | |
void | |
void | |
void |
setTag(オブジェクト タグ)
地面オーバーレイのタグを設定します。
|
void |
setTransparency(浮動小数点透明度)
この地面オーバーレイの透明度を設定します。
|
void |
setVisible(ブール値を表示)
この地面オーバーレイの表示を設定します。
|
void |
setZIndex(float zIndex)
この地面オーバーレイの zIndex を設定します。
|
継承されたメソッドの概要
パブリック メソッド
public boolean equals (Object other)
この GroundOverlay
が他と等しいかどうかをテストします。
パラメータ
その他 | Object 。 |
---|
戻り値
- 両方のオブジェクトが同じオブジェクトである場合(つまり、これ == other の場合)は true になります。
public float getBearing ()
地面オーバーレイの方向指定を、北から時計回りの角度で取得します。
戻り値
- 地面オーバーレイの方向指定。
public LatLngBounds getBounds ()
地面オーバーレイの境界を取得します。これにより、地面オーバーレイの回転が無視されます。
戻り値
- 地面オーバーレイを含む
LatLngBounds
(回転は無視されます)。
public float getHeight ()
地面オーバーレイの高さを取得します。
戻り値
- 地面オーバーレイの高さ(メートル単位)。
public String getId ()
この地面オーバーレイの ID を取得します。この ID は、地図上のすべての GroundOverlay で一意になります。
戻り値
- この地面オーバーレイの ID。
public Object getTag ()
円のタグを取得します。
戻り値
setTag
でタグが設定された場合はタグ、タグが設定されていない場合はnull
。
public float getTransparency ()
この地面オーバーレイの透明度を取得します。
戻り値
- この地面オーバーレイの透明度を指定できます。
public float getWidth ()
地面オーバーレイの幅を取得します。
戻り値
- 地面オーバーレイの幅(メートル単位)。
public float getZIndex ()
この地面オーバーレイの zIndex を取得します。
戻り値
- 地面オーバーレイの zIndex。
public int hashCode ()
public boolean isClickable ()
地面オーバーレイのクリック可能性を取得します。地面オーバーレイがクリック可能な場合、ユーザーが地面オーバーレイをクリックしたときに、アプリは GoogleMap.OnGroundOverlayClickListener
に通知を受け取ります。イベント リスナーは setOnGroundOverlayClickListener(GoogleMap.OnGroundOverlayClickListener)
を介して登録されます。
戻り値
- 地面オーバーレイがクリック可能である場合は
true
、それ以外の場合はfalse
を返します。
public boolean isVisible ()
この地面オーバーレイの表示を取得します。なお、これは地面オーバーレイが実際に画面上にあるかどうかではなく、それがカメラのビューポートに含まれている場合に描画されるかどうかを返します。
戻り値
- この地面オーバーレイの公開設定を指定します。
public void remove ()
地図からこの地面オーバーレイを削除します。地面オーバーレイを削除した後、そのすべてのメソッドの動作が未定義になります。
public void setBearing (float bearing)
地面オーバーレイの方向(地面オーバーレイの垂直軸が指す方向)を、北から時計回りの角度で設定します。回転は、アンカー ポイントを中心として実行されます。
パラメータ
bearing | 北から時計回りの角度で表した方角 |
---|
public void setClickable (boolean clickable)
地面オーバーレイのクリック可能性を設定します。地面オーバーレイがクリック可能な場合、ユーザーが地面オーバーレイをクリックしたときに、アプリは GoogleMap.OnGroundOverlayClickListener
に通知を受け取ります。イベント リスナーは setOnGroundOverlayClickListener(GoogleMap.OnGroundOverlayClickListener)
を介して登録されます。
パラメータ
クリックできます | 地面オーバーレイのクリック可能性に関する新しい設定。 |
---|
public void setDimensions (float の幅、float の高さ)
地面オーバーレイのサイズを設定します。画像はサイズに合わせて引き伸ばされます。
パラメータ
width | 幅(メートル) |
---|---|
height | 身長(メートル) |
public void setDimensions (浮動小数点数の幅)
地面オーバーレイの幅を設定します。地面オーバーレイの高さは、アスペクト比を維持するように調整されます。
パラメータ
width | 幅(メートル単位) |
---|
public void setImage (BitmapDescriptor imageDescriptor)
地面オーバーレイの画像を設定します。新しい画像の表示は古い画像と同じ範囲になります。
パラメータ
imageDescriptor | この地面オーバーレイに使用する BitmapDescriptor 。 |
---|
public void setPosition (LatLng latLng)
アンカー ポイントの位置を変更して、地面オーバーレイの位置を設定します。画像の他のすべてのプロパティは保持されます。
パラメータ
latLng | アンカー ポイントを配置する新しい場所である LatLng 。 |
---|
public void setPositionFromBounds (LatLngBounds 境界)
指定された LatLngBounds
に合わせて、地面オーバーレイの位置を設定します。この方法では、地面オーバーレイの回転(方向指定)が無視されますが、描画時には bearing が引き続き使用されます。
パラメータ
bounds | 地面オーバーレイを配置する LatLngBounds |
---|
public void setTag (オブジェクト タグ)
地面オーバーレイのタグを設定します。
このプロパティを使用すると、任意の Object
をこの地面オーバーレイに関連付けることができます。たとえば Object
には、地面オーバーレイの内容に関するデータを含めることができます。この方法は、個別の Map<GroundOverlay, Object>
を保存するよりも簡単です。別の例として、データセットの ID に対応する String
ID を関連付けることができます。Google Maps SDK for Android では、このプロパティの読み取りも書き込みも行いません。アプリでのメモリリークを防ぐため、不要になった場合は、setTag(null)
を呼び出してタグをクリアする必要があります。
パラメータ
タグ | null の場合、タグは消去されます。 |
---|
public void setTransparency (float Transparency)
この地面オーバーレイの透明度を設定します。詳細については、このクラスの先頭のドキュメントをご覧ください。
パラメータ
透明性 | [0..1] の範囲の浮動小数点数。0 は地面オーバーレイが不透明であることを示し、1 は地面オーバーレイが透明であることを意味します。 |
---|
public void setVisible (boolean visible)
この地面オーバーレイの表示を設定します。非表示の場合、地面オーバーレイは描画されませんが、その他すべてのプロパティは保持されます。
パラメータ
表示 | true の場合、地面オーバーレイは表示されます。false の場合、表示されません。 |
---|
public void setZIndex (float zIndex)
この地面オーバーレイの zIndex を設定します。詳細については、このクラスの先頭のドキュメントをご覧ください。
パラメータ
zIndex | この地面オーバーレイの zIndex |
---|