私はポリラインを持っており、右クリックでいくつかの点を削除したいと思います。右クリックでポリポイントを取得する方法はありますか?私は地図の座標を取得し、点のポリ配列とそれらを比較することができますが、これは簡単な方法が必要です。この点をクリックするとポリラインポイントを得る方法は?
おかげ
私はポリラインを持っており、右クリックでいくつかの点を削除したいと思います。右クリックでポリポイントを取得する方法はありますか?私は地図の座標を取得し、点のポリ配列とそれらを比較することができますが、これは簡単な方法が必要です。この点をクリックするとポリラインポイントを得る方法は?
おかげ
あなたはそれを右クリックしたときには、ライン上の点の座標を取得することができます:
polyline.addListener('rightclick', function(polyMouseEvent) {
var coords = polyMouseEvent.latLng;
});
それは、その点があるならば、決定するために少しトリッキーですノードの1つ。 the docsによれば、"イベントが発生したときにカーソルの下の頂点のインデックス、頂点でイベントが発生し、ポリラインまたはポリゴンが編集可能な場合"が見つかります。私はこれで多くの運がないことを思い出しているようです。
パスのセクションを削除するだけでなく、そこから単一の座標を削除する必要があると思います。おそらく毎回ポリラインを完全に再描画しない限り。
ぼんやりと同じようなことをしました。hereここで、ポリラインのそのビットを右クリックすると、パスのセクションが削除されます。
newShape.addListener('rightclick', function (polyMouseEvent) {
if (google.maps.geometry.poly.isLocationOnEdge(polyMouseEvent.latLng, this, 0.0001)) {
var vertex = polyMouseEvent.vertex;
// alert(vertex)
}
});