Openlayers 3 自定义多边形符号器
Openlayers 3 custom polygon symbolizer
是否可以将要素的符号化为多边形?
例如,Openlayers 3 有一个 ol.style.Circle and ol.style.RegularShape 符号。是否有等同于假设的 ol.style.Polygon 的东西?您可以从哪里制作多点动态符号器?
我想要这样做的原因是因为我的地图上有标记,这些标记根据该标记的数据动态调整形状。可以在每个点简单地绘制一个 ol.geom.Polygon,但它们不是缩放独立的。我想要具有缩放独立的标记,这意味着它们在屏幕上的大小在我放大或缩小时不会改变。
需要说明的是,使用光栅图像(例如 ol.style.Icon)是不可能的。我的项目中有太多形状和颜色的标记。
是的,这是可能的。 ol.style.Style 采用 geometry
参数,您可以使用该参数覆盖用于渲染要素的几何体。
var style = function(feature, resolution) {
// construct the polygon taking the resolution into account
var polygon = new ol.geom.Polygon(...);
return [
new ol.style.Style({
geometry: polygon,
stroke: ...
fill: ...
}),
];
};
又见这个问题:
是否可以将要素的符号化为多边形? 例如,Openlayers 3 有一个 ol.style.Circle and ol.style.RegularShape 符号。是否有等同于假设的 ol.style.Polygon 的东西?您可以从哪里制作多点动态符号器?
我想要这样做的原因是因为我的地图上有标记,这些标记根据该标记的数据动态调整形状。可以在每个点简单地绘制一个 ol.geom.Polygon,但它们不是缩放独立的。我想要具有缩放独立的标记,这意味着它们在屏幕上的大小在我放大或缩小时不会改变。
需要说明的是,使用光栅图像(例如 ol.style.Icon)是不可能的。我的项目中有太多形状和颜色的标记。
是的,这是可能的。 ol.style.Style 采用 geometry
参数,您可以使用该参数覆盖用于渲染要素的几何体。
var style = function(feature, resolution) {
// construct the polygon taking the resolution into account
var polygon = new ol.geom.Polygon(...);
return [
new ol.style.Style({
geometry: polygon,
stroke: ...
fill: ...
}),
];
};
又见这个问题: