我有一个GeoJson文件,我想在我的地图上有不同的标记圆点。我想这样做的所有点(功能:'点'),但它可悲地适用于我的线的坐标太(功能:'LineString'),我怎么能解决这个问题?
my Code:
const labelText = new Style({
text : new Text({
font: '12px Calibri,sans-serif',
overflow: true,
fill: new Fill({
color: 'green'
}),
stroke : new Stroke({
color :' #000',
width : 3
})
})
});
labelText.getText().setText("R");
const RecStyle = [
new Style({
fill : new Fill({
color:"green"
}),
stroke : new Stroke({
color : 'blue',
width : 2
})
}),
labelText
];
//for drawing
CreateGeojson("myjson.json")
function CreateGeojson(url){
console.log(`url : ${url}`);
const myGeoJson = new VectorLayer({
source: new VectorSource({
format: new GeoJSON(),
url: url
}),
style : RecStyle
});
map.addLayer(myGeoJson);
}
我不希望看到线的坐标标记为'R',我希望只看到我的点在这种风格
创建一个类似于https://openlayers.org/en/latest/apidoc/module-ol_style_Style-Style.html
中编辑样式的几何类型索引的样式对象然后使用样式函数来选择合适的样式和任何动态属性,如标签:
style: function(feature) {
const style = styles[feature.getGeometry().getType()];
const textStyle = style.getText();
if (textStyle)
textStyle.setText(feature.get('name'));
}
return style;
}