地図のサーフェス上の特定のポイントに配置されるアイコン。マーカー アイコンは、地図の表面ではなく、デバイスの画面の向きに合わせて描画されます。つまり、地図の回転、傾斜、ズームによって、必ずしも向きが変わるわけではありません。
マーカーには次のプロパティがあります。
- アルファ版
- マーカーの不透明度を設定します。デフォルトは 1.0 です。
- アンカー
- マーカーの
LatLng
の位置に配置される画像上の点。 デフォルトでは、画像の左側と下部から 50% の位置に設定されます。 - 位置
- 地図上のマーカーの位置を表す
LatLng
値。この値は、マーカーを移動したい場合にいつでも変更できます。 - Title
- ユーザーがマーカーをタップしたときに情報ウィンドウに表示されるテキスト文字列。この値はいつでも変更できます。
- スニペット
- タイトルの下に表示される追加のテキスト。この値はいつでも変更できます。
- アイコン
- マーカーに対して表示されるビットマップ。アイコンを未設定のままにした場合は、デフォルトのアイコンが表示されます。
defaultMarker(float)
を使用して、デフォルト アイコンの代替色を指定できます。 - ドラッグ ステータス
- ユーザーがマーカーをドラッグできるようにするには、このプロパティを
true
に設定します。この値はいつでも変更できます。デフォルトはfalse
です。 - 公開設定
- デフォルトでは、マーカーは表示されます。マーカーを非表示にするには、このプロパティを
false
に設定します。この値はいつでも変更できます。 - フラットまたはビルボード
- 地図に対してマーカーがフラットな場合、カメラの回転や傾斜によってマーカーは地図に固定されますが、
GroundOverlay
とは異なり、カメラのズームと同じサイズに保たれます。ビルボードのマーカーは常にカメラの方を向いて描画され、カメラに連動して回転やチルトが行われます。デフォルトはビルボード(false
)です - ローテーション
- マーカーのアンカー ポイントを中心とした時計回りの角度でのマーカーの回転。回転軸はマーカーに対して垂直です。0 の回転はマーカーのデフォルト位置に対応します。地図上のマーカーがフラットな場合、デフォルトの位置は北方向に揃えられ、地図上のマーカーは常にフラットな状態で回転します。マーカーがビルボードの場合、デフォルトの位置は上向きとなり、マーカーは常にカメラの方を向いて回転します。デフォルト値は 0 です。
- zIndex
- マーカーの描画順序。マーカーは zIndex の順に描画され、最も高い zIndex マーカーが上部に描画されます。各マーカーに zIndex プロパティを設定することで、ユーザーがヒットする可能性の高いタップ ターゲットを制御できます。デフォルト値は 0 です。
- タグ
- マーカーに関連付けられた
Object
。たとえば、Object
にはマーカーの内容に関するデータを含めることができます。これは、個別のMap<Marker, Object>
を保存するよりも簡単です。別の例として、データセットの ID に対応するString
ID を関連付けることができます。Google Maps SDK for Android では、このプロパティの読み取りも書き込みも行いません。
このクラスのメソッドは、Android UI スレッドで呼び出す必要があります。そうしないと、実行時に IllegalStateException
がスローされます。
例
GoogleMap map = ... // get a map.
// Add a marker at San Francisco.
Marker marker = map.addMarker(new MarkerOptions()
.position(new LatLng(37.7750, 122.4183))
.title("San Francisco")
.snippet("Population: 776733"));
デベロッパー ガイド
詳しくは、マーカーに関するデベロッパー ガイドをご覧ください。
ネストクラスの概要
@インターフェース | Marker.CollisionBehavior | 他のマーカーや基本地図のラベルと衝突した際のマーカーの処理方法を指定します。 |
パブリック メソッドの概要
ブール値 | |
浮動小数点数 |
getAlpha()
マーカーのアルファを取得します。
|
文字列 |
getId()
このマーカーの ID を取得します。
|
LatLng |
getPosition()
マーカーの位置を返します。
|
浮動小数点数 |
getRotation()
マーカーの回転を取得します。
|
文字列 |
getSnippet()
マーカーのスニペットを取得します。
|
オブジェクト |
getTag()
マーカーのタグを取得します。
|
文字列 |
getTitle()
マーカーのタイトルを取得します。
|
浮動小数点数 |
getZIndex()
マーカーの zIndex を返します。
|
整数 |
hashCode()
|
void |
hideInfoWindow()
情報ウィンドウがこのマーカーから表示されている場合、情報ウィンドウを非表示にします。
|
ブール値 |
isDraggable()
マーカーのドラッグ可能性を取得します。
|
ブール値 |
isFlat()
Marker のフラット設定を取得します。
|
ブール値 |
isInfoWindowShown()
情報ウィンドウが現在このマーカーの上に表示されているかどうかを返します。
|
ブール値 |
isVisible()
このマーカーの表示設定を取得します。
|
void |
remove()
地図からこのマーカーを削除します。
|
void |
setAlpha(float 型アルファ)
マーカーのアルファ(不透明度)を設定します。
|
void |
setAnchor(float anchorU, float anchorV)
マーカーのアンカー ポイントを設定します。
|
void |
setDraggable(ブール値をドラッグできる)
マーカーのドラッグ可能性を設定します。
|
void |
setFlat(ブール値フラット)
このマーカーを地図
true に対してフラットにするか、ビルボードにカメラ false に向けて設置するかを設定します。 |
void | |
void |
setInfoWindowAnchor(float anchorU, float anchorV)
情報ウィンドウを表示する際に、マーカー画像に固定するポイントを指定します。
|
void | |
void |
setRotation(float による回転)
マーカーのアンカー ポイントを中心として時計回りの角度でマーカーの回転を設定します。
|
void |
setSnippet(文字列スニペット)
マーカーのスニペットを設定します。
|
void |
setTag(オブジェクト タグ)
マーカーにタグを設定します。
|
void |
setTitle(文字列のタイトル)
マーカーのタイトルを設定します。
|
void |
setVisible(ブール値を表示)
このマーカーの可視性を設定します。
|
void |
setZIndex(float zIndex)
マーカーの zIndex を設定します。
|
void |
showInfoWindow()
このマーカーが
isVisible() の場合、地図上にこのマーカーの情報ウィンドウを表示します。 |
継承されたメソッドの概要
パブリック メソッド
public boolean equals (Object other)
public float getAlpha ()
マーカーのアルファを取得します。
戻り値
- マーカーのアルファ(範囲 [0, 1])。
public String getId ()
このマーカーの ID を取得します。この ID は、地図上のすべてのマーカーの中で一意になります。
戻り値
- このマーカーの ID です。
public float getRotation ()
マーカーの回転を取得します。
戻り値
- デフォルトの位置からの時計回りの角度で、マーカーの回転。
public String getSnippet ()
マーカーのスニペットを取得します。
戻り値
- マーカーのスニペットを含む文字列。
public Object getTag ()
マーカーのタグを取得します。
戻り値
setTag
でタグが設定された場合はタグ、タグが設定されていない場合はnull
。
public String getTitle ()
マーカーのタイトルを取得します。
戻り値
- マーカーのタイトルを含む文字列。
public float getZIndex ()
マーカーの zIndex を返します。
戻り値
- このマーカーの zIndex を指定します。
public int hashCode ()
public void hideInfoWindow ()
情報ウィンドウがこのマーカーから表示されている場合、情報ウィンドウを非表示にします。
このマーカーが表示されていない場合は、このメソッドの効果はありません。
public boolean isDraggable ()
マーカーのドラッグ可能性を取得します。マーカーがドラッグ可能な場合、ユーザーはマーカーを長押しすることで移動できます。
戻り値
- マーカーがドラッグ可能な場合は
true
、それ以外の場合はfalse
を返します。
public boolean isFlat ()
Marker のフラット設定を取得します。
戻り値
- マーカーが地図に対して平らな場合は
true
、マーカーがカメラの方を向いている場合はfalse
。
public boolean isInfoWindowShown ()
情報ウィンドウが現在このマーカーの上に表示されているかどうかを返します。ここでは、情報ウィンドウが実際に画面に表示されているかどうかは考慮されません。
public boolean isVisible ()
このマーカーの表示設定を取得します。なお、これはマーカーが画面のビューポート内にあるかどうかを示すものではありません。この値は、マーカーが画面のビューポートに含まれている場合に、そのマーカーが描画されるかどうかを示します。
戻り値
- このマーカーの公開設定。
public void remove ()
地図からこのマーカーを削除します。マーカーが削除された後は、そのすべてのメソッドの動作が未定義になります。
public void setAlpha (float alpha)
マーカーのアルファ(不透明度)を設定します。0 ~ 1 の値で、0 はマーカーが完全に透明であること、1 はマーカーが完全に不透明であることを表します。
パラメータ
アルファ |
---|
public void setAnchor (float anchorU, float anchorV)
マーカーのアンカー ポイントを設定します。
anchor は、地表面上のマーカーの位置に固定されるアイコン画像内の点を指定します。
アンカー ポイントは、連続したスペース [0.0, 1.0] x [0.0, 1.0] で指定します。ここで、(0, 0) は画像の左上隅、(1, 1) は右下隅です。W x H の画像のアンカー ポイントは、(W + 1) x (H + 1) のグリッド内で最も近い離散グリッド ポイントであり、スケーリングしてから四捨五入することで取得されます。たとえば 4 x 2 の画像では、アンカー ポイント(0.7, 0.6)はグリッド ポイント(3, 1)に変換されます。
*-----+-----+-----+-----* | | | | | | | | | | +-----+-----+-----+-----+ | | | X | | (U, V) = (0.7, 0.6) | | | | | *-----+-----+-----+-----* *-----+-----+-----+-----* | | | | | | | | | | +-----+-----+-----X-----+ (X, Y) = (3, 1) | | | | | | | | | | *-----+-----+-----+-----*
パラメータ
anchorU | アンカーの U 座標。画像の幅に対する比率([0, 1] の範囲)。 |
---|---|
anchorV | アンカーの V 座標。画像の高さに対する比率([0, 1] の範囲)。 |
public void setDraggable (boolean draggable)
マーカーのドラッグ可能性を設定します。マーカーがドラッグ可能な場合、ユーザーはマーカーを長押しすることで移動できます。
パラメータ
draggable |
---|
public void setFlat (booleanfloat)
このマーカーを地図(true
)に対してフラットにするか、ビルボードにカメラ(false
)側に配置するかを設定します。
パラメータ
横ばい |
---|
public void setIcon (BitmapDescriptor iconDescriptor)
マーカーのアイコンを設定します。
パラメータ
iconDescriptor | null の場合、デフォルトのマーカーが使用されます。 |
---|
public void setInfoWindowAnchor (float anchorU, float anchorV)
情報ウィンドウを表示する際に、マーカー画像に固定するポイントを指定します。これはアンカーと同じ座標系で指定されます。詳しくは、setAnchor(float, float)
をご覧ください。デフォルトは、画像の上部中央です。
パラメータ
anchorU | 情報ウィンドウのアンカーの U 座標。画像の幅に対する比率([0, 1] の範囲)。 |
---|---|
anchorV | 情報ウィンドウのアンカーの V 座標。画像の高さに対する比率([0, 1] の範囲)。 |
public void setRotation (float 回転)
マーカーのアンカー ポイントを中心として時計回りの角度でマーカーの回転を設定します。回転軸はマーカーに対して垂直です。0 の回転はマーカーのデフォルト位置に対応します。
パラメータ
ローテーション |
---|
public void setSnippet (文字列スニペット)
マーカーのスニペットを設定します。
パラメータ
snippet | null の場合、スニペットはクリアされます。 |
---|
public void setTag (オブジェクト タグ)
マーカーのタグを設定します。
このプロパティを使用すると、任意の Object
をこのマーカーに関連付けることができます。たとえば、Object
にはマーカーの内容に関するデータを含めることができます。この方法は、個別の Map<Marker, Object>
を保存するよりも簡単です。別の例として、データセットの ID に対応する String
ID を関連付けることができます。Google Maps SDK for Android は、このプロパティの読み取りも書き込みも行いません。アプリでのメモリリークを防ぐため、不要になった場合は、setTag(null)
を呼び出してタグをクリアする必要があります。
パラメータ
タグ | null の場合、タグは消去されます。 |
---|
public void setTitle (文字列のタイトル)
マーカーのタイトルを設定します。
パラメータ
title | null の場合、タイトルはクリアされます。 |
---|
public void setVisible (boolean visible)
このマーカーの可視性を設定します。false
に設定され、このマーカーに情報ウィンドウが現在表示されている場合は、情報ウィンドウが非表示になります。
パラメータ
表示 |
---|
public void setZIndex (float zIndex)
マーカーの zIndex を設定します。
パラメータ
zIndex |
---|
public void showInfoWindow ()
このマーカーが isVisible()
の場合、地図上にこのマーカーの情報ウィンドウを表示します。
例外
IllegalArgumentException | marker がこの地図にない場合
|
---|