样式openlayers绘制交互

时间:2017-08-23 21:45:07

标签: drawing openlayers styling

在默认的openlayers绘制交互中,没有线段连接鼠标所在的终点(第一张图像)。当我设置自定义样式时,会出现我不想要的这个片段(第二张图片)。有没有人知道我如何消除这个最终片段,就像默认样式一样?

enter image description here enter image description here

1 个答案:

答案 0 :(得分:1)

您需要一个样式函数,可以设置点,线和多边形的样式,并根据几何的类型进行区分。重要提示:多边形样式应该只有填充,而不是笔划。因为多边形的边界是一个单独的线串。绘制交互的最小工作样式函数如下所示:

var styles = {
  Point: new ol.style.Style({
    image: new ol.style.Circle()
  }),
  LineString: new ol.style.Style({
    stroke: new ol.style.Stroke()
  }),
  Polygon: new ol.style.Style({
    fill: new ol.style.Fill()
  })
};
function styleFunction(feature) {
  return styles[feature.getGeometry().getType();
}
相关问题