Openlayers wkt字符串中的openlayer点符号

Openlayers wkt字符串中的openlayer点符号,openlayers,geoserver,Openlayers,Geoserver,我想表示一系列点,每个点都与它们自己的wkt字符串相关联,表示该点在特定缩放级别上的形状 使用geoserver,我可以很容易地做到这一点。比如说: *{ 标记:符号(“wkt://MULTILINESTRING((-0.25 -0.25, -0.125 -0.25), (0.125 -0.25, 0.25 -0.25), (-0.25 0.25, -0.125 0.25), (0.125 0.25, 0.25 0.25))"); } 此符号相对于点的实际坐标,可以使用其他特性调整其大小 op

我想表示一系列点,每个点都与它们自己的wkt字符串相关联,表示该点在特定缩放级别上的形状

使用geoserver,我可以很容易地做到这一点。比如说:

*{
标记:符号(“wkt://MULTILINESTRING((-0.25 -0.25, -0.125 -0.25), (0.125 -0.25, 0.25 -0.25), (-0.25 0.25, -0.125 0.25), (0.125 0.25, 0.25 0.25))");
}
此符号相对于点的实际坐标,可以使用其他特性调整其大小

openlayer有类似的功能吗? 如何用动态多边形形状表示点


如果可能的话,我很想知道如何在Openlayer中使用webGL,因为我正在处理的数据包含地图上的数千个点。

OpenLayers样式具有几何特性(默认为特征的几何体,但可以被覆盖)因此,如果将WKT几何体字符串作为点要素的属性,则可以解析该字符串,相对于要素的位置进行转换,并使用它设置点的样式:

var features = [
  new Feature({
    geometry: new Point([50, 50]),
    mark: "MULTILINESTRING((-0.25 -0.25, -0.125 -0.25), (0.125 -0.25, 0.25 -0.25), (-0.25 0.25, -0.125 0.25), (0.125 0.25, 0.25 0.25))"
  })
];

var parser = new WKT();

var style = new Style({
  stroke = new Stroke({
    width: 2,
    color: 'black'
});

var layer = new VectorLayer({
  source : new VectorSource({
    features: features,
  }),
  style: function(feature) {
    var point = feature.getGeometry().getCoordinates();
    var mark = parser.readGeometry(feature.get('mark'));
    mark.translate(point[0], [point[1]);
    style.setGeometry(mark);
    return style;
  }
});