GoogleマップAPI-v3を使用しています。マップにポリゴンを追加し、ポリラインを追加します。これらの線は、通常、ポリゴンの領域内に配置されます。これには、次のようになります。 Googleマップポリゴン「クリック可能:false」は無効です
私はpolygone上のクリックイベントを無効:
let mapPolygone = {
id: currentPolygone.Id, //currentPolygone is just a wrapper
path: path,
stroke: {
color: currentPolygone.LineColor,
weight: currentPolygone.LineWeight
},
fill: {
color: currentPolygone.FillColor,
opacity: currentPolygone.Opacity
},
editable: false,
draggable: false,
geodesic: false,
// I disabled the click
clickable: false,
visible: true,
}
は私がpolyine上のクリックハンドラを登録:
let mapPolyline = {
// currentPolyline is also a wrapper
id: currentPolyline.Id,
path: path,
stroke: {
color: currentPolyline.LineColor,
weight: currentPolyline.LineWeight
},
strokeOpacity: 1,
editable: false,
draggable: false,
geodesic: false,
clickable: true,
visible: true,
icons: this.getIcons(currentPolyline), // generates a standard GMap-Arrow
events: {
//Here goes the click event. Doing stuff on
click: (polyline: any) => {
this.$scope.polyLineClicked(currentPolyline.Id);
}
}
}
私はGoogleからの期待します別のthreadからは、ポリゴンがクリックを無視し、ポリラインの下のwhathever要素がクリックを取得するということです。 しかし、これは当てはまりません。 polygone
の上にいるとき、私はまだクリックカーソルを取得し、それはまだクリックを取得します。
ポリライン/ポリゴンの描画順序は、ランダムな順序で発生します。時にはラインがクリック可能(ポリゴンの上にペイントされているとき)ですが、通常はそうではありません。
このようなカスタムオーバーレイやそのようなものを考えずにこの作業を行う方法はありますか? ここに何か不足していますか?
ありがとうございます!
ポリラインを描画しない場合、ポリゴンはクリックできませんか?ポリゴンとポリラインをどのように作成しているかを示す完全な例がありますか? – duncan
オーバレイの順序を変更することは不可能ですか(これは私が考えることができる最も効果的で簡単な解決策ではないでしょうか?)あなたの他のスレッドを見ると、すべてのデータを2つの配列に格納することができます(ポリラインを含むもの、ポリゴンを含むもの)。最後にポリゴンをマップ上に設定してからポリラインを設定します。 –
@EmmanuelDelay:Googleマップはポリラインとポリゴンが同じレイヤーに描画される固定レイヤーシステムを使用しているため、これは不可能です://stackoverflow.com/a/15674284/2221750) – hoffmax91