我已经定义了坐标。我需要知道是否有任何方法可以知道这些坐标中存在的图层或要素。那可能吗?

我已经使用了以下函数,但这是针对地图像素执行的,而我希望针对某些坐标执行此操作

var result = ol_interaction_Snap.prototype.snapTo.call(this, pixel, pixelCoordinate, map);

    if (result.snapped) {
        var p = map.getPixelFromCoordinate(pixel);
        var feature = map.getFeaturesAtPixel(p);
        this.dispatchEvent(new mgis_ObjectEvent("aftersnap", feature));
    }
    return result;

最佳答案

使用getFeaturesAtCoordinategetFeaturesInExtent作为地图的来源。
只需围绕您的坐标创建一个小范围即可。

var extent = ol.extent.boundingExtent([ coordinate ]);
extent = ol.extent.buffer(extent, .1);
// test if features
if (source.getFeaturesInExtent(extent).length) {
...
}

关于javascript - 获取定义了坐标的图层和要素,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58306224/

10-11 00:19