是否有将Openlayers范围交互限制为指定数量的地理单元或度的属性



在这个例子中,确实没有太多代码可以共享,但以下是Openlayers扩展交互的文档:

开放层

我使用范围交互来允许用户绘制边界框,我想通过指定多个地理单元或度数来限制可以绘制的范围的大小。我希望能够在用户绘制范围之前设置限制,但在OL文档中看不到实现这一点的直接方法。到目前为止,用户只需创建任何大小的范围,然后我就可以制作这样的geojson:

new GeoJSON().writeFeaturesObject([new Feature(fromExtent(extentCopy))],
{ dataProjection: 'EPSG:4326', featureProjection:        map.getView().getProjection()});

如有任何建议,我们将不胜感激。

您必须使用Draw交互来绘制矩形:https://openlayers.org/en/latest/examples/draw-shapes.html

然后收听Draw交互的drawstart事件以获取绘制的对象,并在其几何体上附加listener以获取其更改:event.feature.getGeometry ().on ('change', testgeom)

您可以在testgeom函数中测试几何图形的更改,以防止更改。

最新更新