Marker

public final class Markerextended Object

地図のサーフェス上の特定のポイントに配置されるアイコン。マーカー アイコンは、地図の表面ではなく、デバイスの画面の向きに合わせて描画されます。つまり、地図の回転、傾斜、ズームによって、必ずしも向きが変わるわけではありません。

マーカーには次のプロパティがあります。

アルファ版
マーカーの不透明度を設定します。デフォルトは 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 他のマーカーや基本地図のラベルと衝突した際のマーカーの処理方法を指定します。

パブリック メソッドの概要

ブール値
equals(Object other)
この Marker が他と等しいかどうかをテストします。
浮動小数点数
getAlpha()
マーカーのアルファを取得します。
文字列
getId()
このマーカーの ID を取得します。
LatLng
getPosition()
マーカーの位置を返します。
浮動小数点数
getRotation()
マーカーの回転を取得します。
文字列
getSnippet()
マーカーのスニペットを取得します。
オブジェクト
getTag()
マーカーのタグを取得します。
文字列
getTitle()
マーカーのタイトルを取得します。
浮動小数点数
getZIndex()
マーカーの zIndex を返します。
整数
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
setIconBitmapDescriptor iconDescriptor)
マーカーのアイコンを設定します。
void
setInfoWindowAnchor(float anchorU, float anchorV)
情報ウィンドウを表示する際に、マーカー画像に固定するポイントを指定します。
void
setPositionLatLng latlng)
マーカーの位置を設定します。
void
setRotation(float による回転)
マーカーのアンカー ポイントを中心として時計回りの角度でマーカーの回転を設定します。
void
setSnippet(文字列スニペット)
マーカーのスニペットを設定します。
void
setTag(オブジェクト タグ)
マーカーにタグを設定します。
void
setTitle(文字列のタイトル)
マーカーのタイトルを設定します。
void
setVisible(ブール値を表示)
このマーカーの可視性を設定します。
void
setZIndex(float zIndex)
マーカーの zIndex を設定します。
void
showInfoWindow()
このマーカーが isVisible() の場合、地図上にこのマーカーの情報ウィンドウを表示します。

継承されたメソッドの概要

パブリック メソッド

public boolean equals (Object other)

この Marker が他と等しいかどうかをテストします。

パラメータ
その他 Object
戻り値
  • 両方のオブジェクトが同じオブジェクトである場合(つまり、これ == other の場合)は true になります。

public float getAlpha ()

マーカーのアルファを取得します。

戻り値
  • マーカーのアルファ(範囲 [0, 1])。

public String getId ()

このマーカーの ID を取得します。この ID は、地図上のすべてのマーカーの中で一意になります。

戻り値
  • このマーカーの ID です。

public LatLng getPosition ()

マーカーの位置を返します。

戻り値
  • マーカーの現在の位置を指定する LatLng オブジェクト。

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 setPosition LatLng latlng)

マーカーの位置を設定します。

パラメータ
緯度経度

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 がこの地図にない場合