多边形与 Openlayers 叠加时显示多个弹出窗口

Posted

技术标签:

【中文标题】多边形与 Openlayers 叠加时显示多个弹出窗口【英文标题】:Display multiple pop-ups when superposition of polygons with Openlayers 【发布时间】:2017-09-22 07:47:54 【问题描述】:

我有一张带有多边形矢量对象的地图。

多边形之间可以存在叠加。也就是说,有时较大的多边形完全位于较小的多边形之上。 使用 Openlayers,是否可以显示两个弹出窗口而不是仅显示一个(第一个弹出窗口与上面的多边形相关,第二个与底部的多边形相关)?还是一个包含两个多边形属性的弹出窗口?

我查找了相关信息,但没有找到很多相关信息。有那个主题(Display multiple WFS layers with popup)但没有答案。

非常感谢您的帮助!

【问题讨论】:

【参考方案1】:

为了更好的用户体验,我建议显示 1 个包含两个多边形属性的弹出窗口。

示例:http://jsfiddle.net/HarolddP/2wfo5acf/3/

在 jsfiddle 示例中,在巴西多边形的顶部有一个三角形多边形。两者都有一个属性name。弹出窗口的 innerhtml 是通过遍历特征(多边形)并将属性添加到 innerHTML 来填充的。添加一些样式以提高内容的可读性,以便您知道哪些文本属于哪个多边形。

if (features.length > 0) 
    for (var i = 0, ii = features.length; i < ii; ++i) 
        popup.innerHTML = popup.innerHTML + ' ' + features[i].get('name');
    

【讨论】:

是的,太棒了!非常感谢您的帮助! :)

以上是关于多边形与 Openlayers 叠加时显示多个弹出窗口的主要内容,如果未能解决你的问题,请参考以下文章

球体在使用纹理渲染时显示多边形

在移动设备上,如何在屏幕方向为横向时显示叠加层并在纵向时将其删除? [复制]

openlayers绘制多边形

C# button.image 如何是使用icon格式的图标?如何当点击button时显示多个可选图标??

如何在选择图像时显示弹出框

在后台运行时显示弹出窗口的权限