geojsonファイルをopenlayersに読み込んで、いくつかのポリゴンを表示しています。このファイルから、これらのポリゴンのすべての名前のリストも作成します。
ここで、リストから選択したときにポリゴンの色を変更したい(名前をクリックした)。
私が試したのは、スタイル(http://docs.openlayers.org/library/feature_styling.html)を作成することですが、このスタイルをポリゴンに追加する方法を見つけることができませんでした。どうやってやるの?
geojsonファイルをopenlayersに読み込んで、いくつかのポリゴンを表示しています。このファイルから、これらのポリゴンのすべての名前のリストも作成します。
ここで、リストから選択したときにポリゴンの色を変更したい(名前をクリックした)。
私が試したのは、スタイル(http://docs.openlayers.org/library/feature_styling.html)を作成することですが、このスタイルをポリゴンに追加する方法を見つけることができませんでした。どうやってやるの?
回答:
レイヤーに追加する前に、スタイルシンボルハッシュセットを作成して選択したポリゴンに割り当てるだけです。
var selected_polygon_style = {
strokeWidth: 5,
strokeColor: '#ff0000'
// add more styling key/value pairs as your need
};
selectedFeature.style = selected_polygon_style;
layer.addFeatures([selectedFeature]);
このページ(http://docs.openlayers.org/library/feature_styling.html)で、変更可能なスタイルプロパティに関する多くの情報を見つけることができます。
他の回答でケースを使用します。
「setStyle()」の使用を変更するだけ
このケースは私のために働いた。
var selected_polygon_style = {
strokeWidth: 5,
strokeColor: '#ff0000'
// add more styling key/value pairs as your need
};
selectedFeature.setStyle(selected_polygon_style);
layer.addFeatures([selectedFeature]);
Whit OpenLayers 4.6.5で色を変更するには、これを使用しています:
myLayer.getSource().getFeatures()[1].setStyle(new ol.style.Style({
image: new ol.style.Icon(/** @type {module:ol/style/Icon~Options} */({ // /** @type {olx.style.IconOptions} */
color: '#00ffff', // #FF0000
crossOrigin: 'anonymous',
src: '/img/dot.png'
}))
}));
getFeatures()[1]私の機能の要素の一つです。すべての機能を変更する場合、ループを使用します。