我正在将KML文件导入地图上的叠加层。
OL3在几何图形方面做得很好,但似乎忽略了应该显示的文本标签。
此代码段会竖起一个图钉,但不会像在Google地球和地图中那样在<name>
元素中显示文字
<Placemark>
<name>Text I want to show</name>
<Point>
<coordinates>-81.11918192120308,32.27372446636573,0</coordinates>
</Point>
</Placemark>
答案 0 :(得分:1)
KML规范中没有任何内容表明<name>
的{{1}}标记应该与图钉或图标一起呈现 - Google只是选择以这种方式实现它。
如果您查看OpenLayers Swiss hotels KML示例,您可能会同意自动显示文本标签会使屏幕太忙。但是,使用<Placemark>
函数在鼠标悬停时添加标签相当简单,就像在此kml earthquake例程中所做的那样,它将KML标记的name属性推送到info div中,就像你可以一样请参阅此代码段:
map.forEachFeatureAtPixel
因此,解析了var feature = map.forEachFeatureAtPixel(pixel, function(feature, layer) {
return feature;
});
if (feature) {
info.tooltip('hide')
.attr('data-original-title', feature.get('name'))
.tooltip('fixTitle')
.tooltip('show');
} else {
info.tooltip('hide');
}
的{{1}}标记,但显示在OpenLayers中由设计而非缺陷留给您。