Openlayers中的ContainsPoint未定义

时间:2015-02-27 05:28:19

标签: javascript openlayers

我正在使用Openlayers 2,这只是用于测试图层(​​POINTS)的模拟代码,位于另一层(POLYGON)内。

var p = new OpenLayers.Geometry.Point(13977549.20, 1019860.15);
for (var i = 0; i < layer_floodhazard.features.length; i++) {
    var feature = layer_floodhazard.features[i];
    if (feature.containsPoint(p)) {
        alert('Contains')
    };
}

当我查看控制台时说:Uncaught TypeError: undefined is not a function它指向containsPoint功能所在的行。

1 个答案:

答案 0 :(得分:0)

这里发生的事情是feature没有直接使用containsPoint方法。

假设您的layer_floodhazard.featurespolygons,您应该在该要素下看到geometry属性,如果几何图形是多边形,那么您应该能够看到.containsPoint.geometry财产下。

也许你应该尝试

if (feature.geometry.containsPoint(p)) {
  alert('Contains')
};