2つのGeoJsonオーバーレイを表示する必要があります。1つはユーザーと対話できる(クリック、マウスオーバー)、もう1つは視覚情報を表示するためだけの非対話です。
最初のレイヤーは2番目のレイヤーの下にあり、ストロークのみを描画する必要があります。
2番目のレイヤースタイルに「pointerEvents」をnoneに指定しましたが、LeafLetはこのプロパティを使用しません。生成されたsvgにはこのプロパティがありません。
var interactiveLayer = L.topoJson(epci2014TopoJson, {
style: function (feature) {
return {
weight: 0.0,
fillOpacity: 0.7,
color: 'rgb(200,200,200)',
fillColor: getColor(feature.properties.siren_epci || feature.properties.SIREN_EPCI)
}
},
onEachFeature: function (feature, layer) {
layer.on({
mouseover: highlightFeature,
mouseout: resetHighlight,
click: zoomToFeature
});
}
}).addTo(map);
var justForDrawLayer=L.geoJson(departementsGeoJson, {
style: function (feature) {
return {
pointerEvents : 'none',
clickable:false,
weight: 3,
fillOpacity: 0.0,
color: 'rgb(220,220,220)'
}
}
}).addTo(map);
「クリック可能」を「false」に変更しようとしましたが、変更はありません。
私の英語が十分に正しくない場合はすみません。 ありがとう。
http://playground-leaflet.rhcloud.com/または他のjsfiddleのようなサイトを使用します。
2番目のレイヤースタイルに「pointerEvents」をnoneに指定しましたが、LeafLetはこのプロパティを使用しません
ええと、 pointerEvents
はL.Path
の認識されたオプションではないので、何を期待していたのかわかりません。
「クリック可能」を「false」に変更しようとしましたが、変更はありません。
このオプションは、1.0.0で名前をinteractive
に変更しました。ドキュメントの「インタラクティブレイヤーから継承されたオプション」を参照してください。
ご返信ありがとうございます。
「pointerEvents」の場合:ユーザーインタラクションに対してレイヤーを「非アクティブ」にすることができなかったため、ここに示す例に従うようにしました:ペインのhttp://leafletjs.com/examples/map-panes/ geoJsonレイヤーに適用されるpointerEvents。 多分私はこの概念を誤解しました。
geojsonスタイルのinactiveプロパティを試してみます。
私の目標は、いくつかの小さな国(ポリゴン)を階級区分図として表示することです。 このレイヤーの下には、タイルレイヤーなど、より大きな国を表示する別のgeojsonレイヤーがあり、それぞれが小さな国の「コンテナ」です。 このオーバーレイには、内側が完全に透明なポリゴンストロークのみが表示されるようにしたいと思います。 「小さな国」のオーバーレイはユーザーと対話し、「大きな国」のレイヤーは対話しないようにします。
どうも
「 interactive:false 」で試してみましたが、動作します。
申し訳ありませんが(コミュニケートを求めて)、幸せです(それが機能するため)。
どうも。
2つのレイヤーをレンダリングするのと同じタスクがあり、最上位のレイヤーは非アクティブになっているはずです。 「 interactive:false 」が役に立ちました、ありがとう!
最も参考になるコメント
「 interactive:false 」で試してみましたが、動作します。
申し訳ありませんが(コミュニケートを求めて)、幸せです(それが機能するため)。
どうも。