javascript - 检查一个点是否在 OpenLayers 3 中的多边形内

标签 javascript openlayers-3

当我在 OpenLayers map 中绘制多边形时,我想知道标记是否在多边形内部。我在 OpenLayers API 中搜索,但没有找到解决方案。

screenshot for visual clarification

你可以在这个 link 中看到我的完整代码.

我的印象是我必须修改这个功能:

  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
    });
  }
}

我该怎么做?

最佳答案

你有一个方法' intersectsCoordinate ' 对于 ol.geom.Geometry。

所以它的代码看起来像:

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

关于javascript - 检查一个点是否在 OpenLayers 3 中的多边形内,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41446376/

相关文章:

javascript - 多次调用实习生异步回调

javascript - 运行 Javascript Asyn 以便页面不会阻塞

javascript - 如何使用 Openlayers 3 中的复选框切换图层

gis - 如何获得对 openlayers 3 中修改功能的引用

javascript - 将图像数组绘制到 Canvas 上

php - 您可以在 Google Analytics 中存储表单选择吗?

javascript - 使用淡入和/或淡出添加我的 2 个图像的动画

coordinates - 如何在 OpenLayers 中获取绘制框的坐标?

javascript - 如何使用 openlayers3 对 PNG 图像进行动画处理

javascript - 在 Openlayers 3 中使用 map 进行标记缩放/旋转