gpt4 book ai didi

javascript - 在选择时获取功能 ID

转载 作者:行者123 更新时间:2023-12-02 16:16:51 25 4
gpt4 key购买 nike

我无法获取从 map 中选择的要素的 ID。以下是我如何添加功能的示例:

var mylayer = map.getLayer('mylayerid');
var layersrc = mylayer.getSource();

var feature = new ol.Feature(new ol.geom.Point([0, 0]));
feature.setId(54);

layersrc.addFeature(feature);

这是我选择功能的设置:

var selectSingleClick = new ol.interaction.Select();
selectSingleClick.on('select', function(e) {
// tried many things with e but can't get id of selected feature
});
map.addInteraction(selectSingleClick);

是否有正确的方法来捕获功能 ID?谢谢!

最佳答案

我找到了一种收集 id 的方法,虽然有点复杂。我跟随pointermove事件不断收集鼠标的位置。然后,当单击 map 时,会捕获鼠标在该时刻的位置,现在我们能够循环遍历该像素位置处的每个要素。

map.on('singleclick', function(evt) {
var pixel = map.getPixelFromCoordinate(evt.coordinate);
map.forEachFeatureAtPixel(pixel, function(feature) {
console.log(feature.getId()); // id of selected feature
});
});

如果您在该位置有多个要素,您将获得多个要素。希望这对遇到此问题的其他人有所帮助。

关于javascript - 在选择时获取功能 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29496868/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com