Polygon

public final class Polygon extended Object

地表面上のポリゴン。多角形は凸面でも凹面でも、180 子午線にまたがることがあり、塗りつぶされていない穴があることもあります。このプロパティには次の特性があります。

アウトライン
枠線は、時計回りまたは反時計回りの頂点のリストで指定されます。開始ポイントと終了ポイントが一致する必要はありません。一致していない場合、ポリゴンは自動的に閉じられます。線分は、2 つの方向(東または西)のうち短い方の連続する点間に描画されます。
穴とは、塗りつぶされていないポリゴン内の領域です。穴は枠線とまったく同じ方法で指定します。穴が輪郭線内に完全に収まっている必要があります。複数のホールを指定できますが、重複するホールはサポートされていません。
ストロークの幅
線分の幅(画面のピクセル)。幅は一定であり、カメラのズームレベルに依存しません。デフォルト値は 10 です。
ストロークの色
ARRGB 形式の線分の色(Color で使用されているのと同じ形式)。デフォルト値は黒(0xff000000)です。
ストローク ジョイントのタイプ
ジョイント タイプでは、ポリゴンのアウトラインのすべての頂点で隣接する線分を結合するときに使用するシェイプを定義します。サポートされているジョイントのタイプについては、JointType をご覧ください。デフォルト値は DEFAULT です。
ストロークのパターン
ポリゴンの枠線に沿って繰り返されるソリッド(デフォルト、null で表される)または一連の PatternItem オブジェクト。利用可能な PatternItem タイプ: Gap(ピクセル単位のギャップの長さで定義)、Dash(ピクセル単位のストローク幅とダッシュの長さで定義)、Dot(円形、ポリゴンのアウトラインの中央に配置、直径はストローク幅(ピクセル単位)で定義)。
塗りつぶしの色
塗りつぶしの色は Color で使用されているのと同じ ARGB 形式です。デフォルト値は透明(0x00000000)です。ポリゴン ジオメトリが正しく指定されていない場合(上記の「アウトライン」と「ホール」を参照)、塗りつぶしは描画されません。
Z インデックス
他のオーバーレイ(PolylineCircleGroundOverlayTileOverlay など)に対してこのポリゴンが描画される順序。ただし、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));
 

デベロッパー ガイド

詳しくは、シェイプに関するデベロッパー ガイドをご覧ください。

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

ブール値
equals(Object other)
この Polygon が他と等しいかどうかをテストします。
整数
getFillColor()
このポリゴンの塗りつぶしの色を取得します。
List<List<LatLng>>
getHoles()
このポリゴンの現在のホールのスナップショットを返します。
文字列
getId()
このポリゴンの ID を取得します。
List<LatLng>
getPoints()
このポリゴンの現在の頂点のスナップショットを返します。
整数
getStrokeColor()
このポリゴンのストロークの色を取得します。
整数
getStrokeJointType()
ポリゴンのアウトラインのすべての頂点で使用されるストロークのジョイント タイプを取得します。
List<PatternItem>
getStrokePattern()
このポリゴンのアウトラインのストローク パターンを取得します。
浮動小数点数
getStrokeWidth()
このポリゴンのストローク幅を取得します。
オブジェクト
getTag()
ポリゴンのタグを取得します。
浮動小数点数
getZIndex()
このポリゴンの zIndex を取得します。
整数
ブール値
isClickable()
ポリゴンのクリック可能性を取得します。
ブール値
isGeodesic()
ラインの各セグメントが測地線として描画されるかどうかを取得します。
ブール値
isVisible()
このポリゴンの表示設定を取得します。
void
remove()
地図からポリゴンを削除します。
void
setClickable(ブール値のクリック able)
ポリゴンのクリック可能性を設定します。
void
setFillColor(int 色)
このポリゴンの塗りつぶしの色を設定します。
void
setGeodesic(ブール値の測地線)
線の各セグメントを測地線として描画するかどうかを設定します。
void
setHoles(List<? extends List<LatLng>> holes)
このポリゴンのホールを設定します。
void
setPoints(List<LatLng> ポイント)
このポリゴンのポイントを設定します。
void
setStrokeColor(int 色)
このポリゴンのストロークの色を設定します。
void
setStrokeJointType(int partnerType)
ポリゴンの枠線のすべての頂点のジョイント タイプを設定します。
void
setStrokePattern(List<PatternItem> パターン)
ポリゴンのアウトラインのストローク パターンを設定します。
void
setStrokeWidth(浮動小数点数の幅)
このポリゴンのストローク幅を設定します。
void
setTag(オブジェクト タグ)
ポリゴンのタグを設定します。
void
setVisible(ブール値を表示)
このポリゴンの表示設定を設定します。
void
setZIndex(float zIndex)
このポリゴンの zIndex を設定します。

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

パブリック メソッド

public boolean equals (Object other)

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

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

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 List<PatternItem> getStrokePattern ()

このポリゴンのアウトラインのストローク パターンを取得します。

戻り値
  • ストロークのパターンを指定します。

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)

ポリゴンの枠線のすべての頂点のジョイント タイプを設定します。

使用できる値については、JointType をご覧ください。ジョイント タイプが未定義の場合、または許容値でない場合は、デフォルト値の DEFAULT が使用されます。

パラメータ
jointType ストロークのジョイント タイプ。

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。