gpt4 book ai didi

javascript - OL 4 - 只有第一个标记(功能)处于事件状态,为什么?

转载 作者:行者123 更新时间:2023-11-30 20:27:42 24 4
gpt4 key购买 nike

我完全是 OL 的初学者 - 只是一个试图保存我所依赖的 map 的家谱网站所有者,G**gle 在 6 月 11 日切断了我的联系。“没有 CC 信息 = 没有 map ......”

除最基本的 map 外,所有 map 都可见且有效。我正在使用 OL 4.6.5。这是该 map 的示例:https://xerxx.se/clicktest.html
我的问题是只有第一个标记对鼠标点击和悬停有反应。我已经尝试了我在这个网站上找到的这两种解决方案:

map.on('singleclick', function(event) {
map.forEachFeatureAtPixel(event.pixel, function(feature,layer) {
alert("A SC NAME = *"+feature.get('name')+"*");
});
});

/*
map.on('singleclick', function(e) {
var iconFeatureA = map.getFeaturesAtPixel(e.pixel);
if (iconFeatureA !== null) {
var name = iconFeatureA[0].get("name");
alert("B SC NAME = *"+name+"*");
e.preventDefault(); // avoid bubbling
}
});
*/

第一个片段当前在该示例中使用。
我在这里制作了热图示例 https://openlayers.org/en/latest/examples/earthquake-clusters.html变成非常好的东西 - 例如:https://xerxx.se/heattest.html
每个单一位置标记都显示信息,因此我尝试构建这样的基本 map (读取 .kml 字符串),但它也只是第一个“事件”的标记。 (而且我无法获得不同颜色的标记)

拜托:谁能解释一下我如何才能像热图中那样激活所有标记 - 我很绝望:我不想给 G**gle 我的 CC 信息!
我不再需要 JS alert() - 稍后可以添加弹出窗口(“文本气球”)。

提前致谢
Erik - 100% OL新手

最佳答案

您的代码没问题。坐标不是。

有效坐标在 [-180;180] 范围内。你的位置2点在

 var lon = 291.620235443;

设置为

var lon = 291.620235443 - 360;

它会起作用。

如果您使用浏览器调试器,您会看到,对于当前 map ,函数 map.on('singleclick', function(event) {...}); 被调用对于点 #2,但在此位置未找到任何特征。

关于javascript - OL 4 - 只有第一个标记(功能)处于事件状态,为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50705086/

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