Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/421.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 检查点是否位于OpenLayers 3中的多边形内_Javascript_Openlayers 3 - Fatal编程技术网

Javascript 检查点是否位于OpenLayers 3中的多边形内

Javascript 检查点是否位于OpenLayers 3中的多边形内,javascript,openlayers-3,Javascript,Openlayers 3,在OpenLayers地图中绘制多边形时,我想知道标记是否位于多边形内部。我在OpenLayers API中进行了搜索,但没有找到解决方案 你可以在这里看到我的全部代码 我的印象是,我必须修改此功能: function addInteraction() { var value = typeSelect.value; if (value !== 'None') { draw = new ol.interaction.Draw({ source: vecto

在OpenLayers地图中绘制多边形时,我想知道标记是否位于多边形内部。我在OpenLayers API中进行了搜索,但没有找到解决方案

你可以在这里看到我的全部代码

我的印象是,我必须修改此功能:

  function addInteraction() {
    var value = typeSelect.value;
    if (value !== 'None') {
    draw = new ol.interaction.Draw({
      source: vectorSource,
      type: /** @type {ol.geom.GeometryType} */ (typeSelect.value)
    });
    map.addInteraction(draw);
    draw.on('drawend',function(e){
      //Here
    });
  }
}
如何做到这一点?

您可以使用该库,该库实现简单的几何图形处理,如
相交
差异
,等等。它包含一个OL3解析器,允许将几何图形从OL3转换为JST,反之亦然

看一看。基本上,您将使用一个过程来检查标记的几何体是否在多边形内,并从那里执行所需操作。

您有一个用于ol.geom.geometry的方法“”

因此,其代码如下所示:

var polygonGeometry = e.feature.getGeometry();
var coords = iconFeature.getGeometry().getCoordinates();
polygonGeometry.intersectsCoordinate(coords)