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

OL 4 - Only first marker (feature) is active, why?

我完全是 OL 的初学者 - 只是一个家谱网站所有者,试图保存我所依赖的地图,G**gle 在 6 月 11 日切断了我的联系。"No CC info = No maps..."

除最基本的地图外,所有地图都可见且有效。 我正在使用 OL 4.6.5。这是该地图的示例: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 into something that works really nice - example: https://xerxx.se/heattest.html
每个单一位置标记都显示信息,所以我尝试构建这样的基本地图(读取 .kml 字符串),但它也只是第一个标记 "active"。 (而且我无法获得不同颜色的标记)

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

提前致谢,
Erik - 100% OL新手

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

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

 var lon = 291.620235443;

设置为

var lon = 291.620235443 - 360;

它会起作用。

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