地表面上のポリゴン。多角形は凸面でも凹面でも、180 子午線にまたがることがあり、塗りつぶされていない穴があることもあります。このプロパティには次の特性があります。
- アウトライン
- 枠線は、時計回りまたは反時計回りの頂点のリストで指定されます。開始ポイントと終了ポイントが一致する必要はありません。一致していない場合、ポリゴンは自動的に閉じられます。線分は、2 つの方向(東または西)のうち短い方の連続する点間に描画されます。
- 穴
- 穴とは、塗りつぶされていないポリゴン内の領域です。穴は枠線とまったく同じ方法で指定します。穴が輪郭線内に完全に収まっている必要があります。複数のホールを指定できますが、重複するホールはサポートされていません。
- ストロークの幅
- 線分の幅(画面のピクセル)。幅は一定であり、カメラのズームレベルに依存しません。デフォルト値は 10 です。
- ストロークの色
- ARRGB 形式の線分の色(
Color
で使用されているのと同じ形式)。デフォルト値は黒(0xff000000
)です。 - ストローク ジョイントのタイプ
- ジョイント タイプでは、ポリゴンのアウトラインのすべての頂点で隣接する線分を結合するときに使用するシェイプを定義します。サポートされているジョイントのタイプについては、
JointType
をご覧ください。デフォルト値はDEFAULT
です。 - ストロークのパターン
- ポリゴンの枠線に沿って繰り返されるソリッド(デフォルト、
null
で表される)または一連のPatternItem
オブジェクト。利用可能なPatternItem
タイプ:Gap
(ピクセル単位のギャップの長さで定義)、Dash
(ピクセル単位のストローク幅とダッシュの長さで定義)、Dot
(円形、ポリゴンのアウトラインの中央に配置、直径はストローク幅(ピクセル単位)で定義)。 - 塗りつぶしの色
- 塗りつぶしの色は
Color
で使用されているのと同じ ARGB 形式です。デフォルト値は透明(0x00000000
)です。ポリゴン ジオメトリが正しく指定されていない場合(上記の「アウトライン」と「ホール」を参照)、塗りつぶしは描画されません。 - Z インデックス
- 他のオーバーレイ(
Polyline
、Circle
、GroundOverlay
、TileOverlay
など)に対してこのポリゴンが描画される順序。ただし、Marker
は描画されません。Z-Index の大きいオーバーレイは、小さい Z-Index のオーバーレイの上に描画されます。Z-Index 値が同じオーバーレイの順序は任意です。デフォルト値は 0 です。 - 公開設定
- ポリゴンの表示 / 非表示(つまり、地図上に描画されるかどうか)を指定します。非表示のポリゴンは描画されませんが、他のすべてのプロパティを保持します。デフォルトは
true
(可視)です。 - 測地線ステータス
- ポリゴンのセグメントをメルカトル図法上の直線ではなく、測地線として描画するかどうかを指定します。測地線は、地表面上の 2 点間の最短パスです。測地線曲線は、地球が球体であると仮定して作成されます。
- クリックされやすさ
- ユーザーがポリゴンをクリックしたときに発生するイベントを処理する場合は、このプロパティを
true
に設定します。この値はいつでも変更できます。デフォルトはfalse
です。このプロパティがtrue
に設定されている場合、アプリは、setOnPolygonClickListener(GoogleMap.OnPolygonClickListener)
を通じて登録されたGoogleMap.OnPolygonClickListener
に通知を受信します。 - タグ
- ポリゴンに関連付けられた
Object
。たとえば、Object
には、ポリゴンが表す内容に関するデータを含めることができます。これは、個別のMap<Polygon, Object>
を保存するよりも簡単です。別の例として、データセットの ID に対応するString
ID を関連付けることができます。Google Maps SDK for Android では、このプロパティの読み取りも書き込みも行いません。
このクラスのメソッドは、Android UI スレッドで呼び出す必要があります。そうしないと、実行時に IllegalStateException
がスローされます。
例
GoogleMap map;
// ... get a map.
// Add a triangle in the Gulf of Guinea
Polygon polygon = map.addPolygon(new PolygonOptions()
.add(new LatLng(0, 0), new LatLng(0, 5), new LatLng(3, 5), new LatLng(0, 0))
.strokeColor(Color.RED)
.fillColor(Color.BLUE));
デベロッパー ガイド
詳しくは、シェイプに関するデベロッパー ガイドをご覧ください。
パブリック メソッドの概要
ブール値 | |
整数 |
getFillColor()
このポリゴンの塗りつぶしの色を取得します。
|
List<List<LatLng>> |
getHoles()
このポリゴンの現在のホールのスナップショットを返します。
|
文字列 |
getId()
このポリゴンの ID を取得します。
|
List<LatLng> |
getPoints()
このポリゴンの現在の頂点のスナップショットを返します。
|
整数 |
getStrokeColor()
このポリゴンのストロークの色を取得します。
|
整数 |
getStrokeJointType()
ポリゴンのアウトラインのすべての頂点で使用されるストロークのジョイント タイプを取得します。
|
List<PatternItem> |
getStrokePattern()
このポリゴンのアウトラインのストローク パターンを取得します。
|
浮動小数点数 |
getStrokeWidth()
このポリゴンのストローク幅を取得します。
|
オブジェクト |
getTag()
ポリゴンのタグを取得します。
|
浮動小数点数 |
getZIndex()
このポリゴンの zIndex を取得します。
|
整数 |
hashCode()
|
ブール値 |
isClickable()
ポリゴンのクリック可能性を取得します。
|
ブール値 |
isGeodesic()
ラインの各セグメントが測地線として描画されるかどうかを取得します。
|
ブール値 |
isVisible()
このポリゴンの表示設定を取得します。
|
void |
remove()
地図からポリゴンを削除します。
|
void |
setClickable(ブール値のクリック able)
ポリゴンのクリック可能性を設定します。
|
void |
setFillColor(int 色)
このポリゴンの塗りつぶしの色を設定します。
|
void |
setGeodesic(ブール値の測地線)
線の各セグメントを測地線として描画するかどうかを設定します。
|
void | |
void | |
void |
setStrokeColor(int 色)
このポリゴンのストロークの色を設定します。
|
void |
setStrokeJointType(int partnerType)
ポリゴンの枠線のすべての頂点のジョイント タイプを設定します。
|
void | |
void |
setStrokeWidth(浮動小数点数の幅)
このポリゴンのストローク幅を設定します。
|
void |
setTag(オブジェクト タグ)
ポリゴンのタグを設定します。
|
void |
setVisible(ブール値を表示)
このポリゴンの表示設定を設定します。
|
void |
setZIndex(float zIndex)
このポリゴンの zIndex を設定します。
|
継承されたメソッドの概要
パブリック メソッド
public boolean equals (Object other)
public int getFillColor ()
このポリゴンの塗りつぶしの色を取得します。
戻り値
- ARGB 形式の色を指定します。
public List<LatLng>> getHoles ()
このポリゴンの現在のホールのスナップショットを返します。返されるリストはホールのリストのコピーであるため、ポリゴンのホールに変更を加えてもこのリストには反映されず、このリストを変更してもポリゴンに反映されません。
public String getId ()
このポリゴンの ID を取得します。ID は、地図上のすべてのポリゴンの中で一意になります。
public List<LatLng> getPoints ()
このポリゴンの現在の頂点のスナップショットを返します。返されるリストは頂点のリストのコピーであるため、ポリゴンの頂点を変更してもこのリストには反映されず、このリストを変更してもポリゴンに反映されません。ポリゴンの頂点を変更するには、setPoints(List)
を呼び出します。
public int getStrokeColor ()
このポリゴンのストロークの色を取得します。
戻り値
- ARGB 形式の色を指定します。
public int getStrokeJointType ()
ポリゴンのアウトラインのすべての頂点で使用されるストロークのジョイント タイプを取得します。設定可能な値については、JointType
をご覧ください。
戻り値
- ストロークのジョイント タイプ。
public float getStrokeWidth ()
このポリゴンのストローク幅を取得します。
戻り値
- 画面ピクセルの幅。
public Object getTag ()
ポリゴンのタグを取得します。
戻り値
setTag
でタグが設定された場合はタグ、タグが設定されていない場合はnull
。
public float getZIndex ()
このポリゴンの zIndex を取得します。
戻り値
- ポリゴンの zIndex。
public int hashCode ()
public boolean isClickable ()
ポリゴンのクリック可能性を取得します。ポリゴンがクリック可能な場合、ユーザーがポリゴンをクリックすると、アプリは GoogleMap.OnPolygonClickListener
に通知を受け取ります。イベント リスナーは setOnPolygonClickListener(GoogleMap.OnPolygonClickListener)
を介して登録されます。
戻り値
- ポリゴンがクリック可能な場合は
true
。それ以外の場合はfalse
を返します。
public boolean isGeodesic ()
ラインの各セグメントが測地線として描画されるかどうかを取得します。
戻り値
- 各セグメントが測地線として描画される場合は
true
、各セグメントがメルカトル図法で直線として描画される場合はfalse
。
public boolean isVisible ()
このポリゴンの表示設定を取得します。
戻り値
- ポリゴンの公開設定を指定します。
public void remove ()
地図からポリゴンを削除します。ポリゴンが削除された後は、そのすべてのメソッドの動作が未定義になります。
public void setClickable (boolean clickable)
ポリゴンのクリック可能性を設定します。ポリゴンがクリック可能な場合、ユーザーがポリゴンをクリックすると、アプリは GoogleMap.OnPolygonClickListener
に通知を受け取ります。イベント リスナーは setOnPolygonClickListener(GoogleMap.OnPolygonClickListener)
を介して登録されます。
パラメータ
クリックできます | ポリゴンの新しいクリック可能性設定。 |
---|
public void setFillColor (int 色)
このポリゴンの塗りつぶしの色を設定します。
パラメータ
色 | ARGB 形式の色。 |
---|
public void setGeodesic (boolean geodesic)
線の各セグメントを測地線として描画するかどうかを設定します。
パラメータ
geodesic | true の場合、各セグメントは測地線として描画されます。false の場合、各セグメントはメルカトル図法上で直線として描画されます。 |
---|
public void setHoles (List<? extends List<LatLng>> holes)
このポリゴンのホールを設定します。このメソッドはホールのコピーを取得するため、holes
へのこれ以上の変更はこのポリゴンには影響しません。
パラメータ
holes | ホールのリスト(ホールは LatLng のリスト)。 |
---|
public void setPoints (List<LatLng> ポイント)
このポリゴンのポイントを設定します。このメソッドはポイントのコピーを取得するため、points
へのこれ以上のミューテーションはこのポリゴンに影響しません。
パラメータ
points | ポリゴンの頂点である LatLng のリスト。 |
---|
public void setStrokeColor (int 色)
このポリゴンのストロークの色を設定します。
パラメータ
色 | ARGB 形式の色。 |
---|
public void setStrokeJointType (int matchingType)
public void setStrokePattern (List<PatternItem> パターン)
ポリゴンのアウトラインのストローク パターンを設定します。デフォルトのストローク パターンは無地で、null
で表されます。
パラメータ
パターン | ストロークのパターンを指定します。 |
---|
public void setStrokeWidth (float の幅)
このポリゴンのストローク幅を設定します。
パラメータ
width | 幅(ディスプレイ ピクセル) |
---|
public void setTag (オブジェクト タグ)
ポリゴンのタグを設定します。
このプロパティを使用すると、任意の Object
をこのポリゴンに関連付けることができます。たとえば、Object
には、ポリゴンが表す内容に関するデータを含めることができます。この方法は、個別の Map<Polygon, Object>
を保存するよりも簡単です。別の例として、データセットの ID に対応する String
ID を関連付けることができます。Google Maps SDK for Android は、このプロパティの読み取りも書き込みも行いません。アプリでのメモリリークを防ぐため、不要になった場合は、setTag(null)
を呼び出してタグをクリアする必要があります。
パラメータ
タグ | null の場合、タグは消去されます。 |
---|
public void setVisible (boolean visible)
このポリゴンの表示設定を設定します。非表示の場合、ポリゴンは描画されませんが、他のすべてのプロパティは保持されます。
パラメータ
表示 | true の場合、ポリゴンは表示されます。false の場合、ポリゴンは表示されません。 |
---|
public void setZIndex (float zIndex)
このポリゴンの zIndex を設定します。zIndex が高いポリゴンは、インデックスが低いポリゴンの上に描画されます。
パラメータ
zIndex | このポリゴンの zIndex。 |
---|