私は都市内のさまざまな地域の連続LatLngを使用しています。クリック可能なポリゴンを作成できる方法はありますか?進むべき道はGoogleマップでクリック可能なポリゴンを作成する(Android用)
- になります一度は利用できLatLngsでポリゴンを生成します。(私は視覚的にカラー符号化で地図上のポリゴンを表示する)
setOnMapClickListener
を設定 - 。
- ポリゴンテストの中でポイントを作成します。
私はこれがとても素朴であると理解します。代わりのアプローチは何ですか?
私は都市内のさまざまな地域の連続LatLngを使用しています。クリック可能なポリゴンを作成できる方法はありますか?進むべき道はGoogleマップでクリック可能なポリゴンを作成する(Android用)
setOnMapClickListener
を設定私はこれがとても素朴であると理解します。代わりのアプローチは何ですか?
ここで私はそれをしました。
Polygon polygon = getMap().addPolygon(new PolygonOptions()
.add(new LatLng(12.780712, 77.770956), new LatLng(12.912006, 77.229738), new LatLng(12.412006, 77.629738), new LatLng(12.912006, 77.229738))
.strokeColor(0xFF00AA00)
.fillColor(0x2200FFFF)
.strokeWidth(2)
);
polygon.setClickable(true);
getMap().setOnPolygonClickListener(new GoogleMap.OnPolygonClickListener() {
public void onPolygonClick(Polygon polygon) {
mClusterManager = new ClusterManager<MyItem>(getApplicationContext(), getMap());
getMap().setOnCameraChangeListener(mClusterManager);
getMap().moveCamera(CameraUpdateFactory.newLatLngZoom(getMap().getCameraPosition().target, getMap().getCameraPosition().zoom));
try {
readItems();
} catch (JSONException e) {
Toast.makeText(getApplicationContext(), "Problem reading list of markers.", Toast.LENGTH_LONG).show();
}
}
});
希望します。
クリック可能なポリゴンを持つことに夢中になる必要はありません。私は時間前にそれをやったが、今、そのためのAPIがあります:にポリゴンを追加することで
GoogleMap mymap =....//init your map
mymap.setOnPolygonClickListener(new OnPolygonClickListener(){
void onPolygonClick(Polygon polygon){
//do whatever with polygon!
}
});
:
GoogleMap.setOnPolygonClickListener(OnPolygonClickListener)あなたは簡単にそれを使用することができます
地図。最初にPolygonOptionsオブジェクトを作成し、いくつかのポイントを追加します。これらの点はポリゴンのアウトラインを形成します。 Polygonオブジェクトを返すGoogleMap.addPolygon(PolygonOptions)を呼び出して、ポリゴンをマップに追加します。 次のコードスニペットは、マップにポリゴンを追加する方法を示しています。
// Instantiates a new Polygon object and adds points to define a rectangle PolygonOptions rectOptions = new PolygonOptions()
.add(new LatLng(37.35, -122.0),
new LatLng(37.45, -122.0),
new LatLng(37.45, -122.2),
new LatLng(37.35, -122.2),
new LatLng(37.35, -122.0));
// Get back the mutable Polygon Polygon polygon = myMap.addPolygon(rectOptions);
デフォルトでは、ポリゴンはクリックできません。クリック性を有効または無効にするには、Polygon.setClickable(boolean)
を呼び出します。
好きNドリガッティと述べた。 OnPolygonClickListenerを使用してクリックイベントをリッスンする場合は、GoogleMap.setOnPolygonClickListener(OnPolygonClickListener)
を呼び出します。
ユーザーがポリゴンをクリックすると、onPolygonClick(Polygon)コールバックが表示されます。 詳細については、documentをご確認ください。
ありがとうございます!カスタムオブジェクトをPolygonに接続するには? –