javascript - OpenLayers3 : more than one overlay at a time?

标签 javascript overlay openlayers-3

我正在使用 OpenLayers3 将 map 集成到网站中。我根据对象的位置添加了一些表示对象的特征。我添加了一个包含单击该对象时该对象上的数据的叠加层,并且它运行良好。但是,有些事情我不知道该怎么做,我已经尝试过但它不起作用:

map 上的 Foreach 对象 ,我想要一种标签显示其名称 在它旁边 - 因为除非显示覆盖层,否则无法区分它们。但是点击每个对象并不方便,特别是在智能手机上......(有时,对象彼此非常接近)。

我尝试为此显示一个叠加层。但是似乎一次只能显示一个叠加层 .您知道如何规避/避免显示多个叠加层吗?或者如果无法完成,您是否有后备解决方案?我已经查看了 OpenLayers3 网站上的 API 和示例......但我没有找到任何东西。我的想法不多了。

非常感谢。

Post scriptum : 在我被要求提供一些代码之前,我不能发布代码的任何部分 因为它是针对我正在工作的项目,所以很明显,我的代码是 保密 .抱歉,谢谢您的理解。但是我可以处理任何示例或想法以使其适合我的代码并查看它是否有效。

最佳答案

看看这个fiddle .我正在使用这个小 css ( https://github.com/chinchang/hint.css ) 助手。叠加层是用这个函数创建的:

function createOverlay(txt, coord) {
    var div = document.createElement('div');
    div.className = 'marker hint-address hint--always hint--left';
    div.setAttribute('data-hint', txt);

    var overlay = new ol.Overlay({
        element: div,
        offset: [-20, -40],
        position: coord,
        positioning: 'center-center'
    });
    map.addOverlay(overlay);
}

关于javascript - OpenLayers3 : more than one overlay at a time?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33824105/

相关文章:

javascript - ng-repeat 中的 div 未显示 AngularUI 的工具提示

javascript - FileReader、图像和 <canvas> 的高 JavaScript 内存使用率

javascript - 如何在使用 API 进行搜索时将 lambda 函数的输出返回到 Web 前端

video - FFmpeg:如何在视频底部添加阴影覆盖?

css - div 忽略之前的 div

node.js 和 geoserver CORS

javascript - 在 node.js 中使用 Q Promises 链接 GET 请求

css - 如何能够在 flexbox (CSS) 内滚动覆盖 div?

openlayers - 链接到旧的 openlayers api

javascript - 多行标签 OpenLayers3