OpenLayers4のベクターソースでポイントのスタイルを設定しようとしています。
私はスタイルを定義しました:
var pStyle = new ol.style.Style({
stroke: new ol.style.Stroke({
width: 6, color: [255, 0, 0, 1]
})
});
レイヤー定義にスタイルを追加しました
var pLayer = new ol.layer.Vector({
source: new ol.source.Vector({
features: [p]
}),
style: pStyle
});
スタイル定義にコメントを付けると、ポイントがマップに表示されるので、コードの残りの部分は問題ないと思います。しかし、地図上にポイントを赤で表示することができません。
フィドル: https://codepen.io/fundef/pen/VXKYjP
どこが間違っているのですか?
fill
とstroke
を使用する場合
var myStyle = new ol.style.Style({
image: new ol.style.Circle({
radius: 7,
fill: new ol.style.Fill({color: 'black'}),
stroke: new ol.style.Stroke({
color: [255,0,0], width: 2
})
})
})
そのためにol.style.icon
を使用できます。
これは例です:
<script>
iconFeature.setStyle(new ol.style.Style({
image: new ol.style.Icon(/** @type {olx.style.IconOptions} */ ({
color: '#8959A8',
crossOrigin: 'anonymous',
src: 'https://openlayers.org/en/v4.6.4/examples/data/dot.png'
}))
}));
<script>