【发布时间】:2019-02-04 16:19:35
【问题描述】:
我有一张地图,上面有不同的KML 图层。
有一个工具提示,如果您将鼠标“悬停”在特定地点上,它会显示该地点的信息。
例如。
我将鼠标移到“PUNTA CANA”上,应该有一个工具提示:
- 名称:蓬塔卡纳
- 幅度:2.2
- 纬度:xxx
- 经度:年年
- 时间:dd/mm/YY,hh:ii
注意:如您所见,在我的 KML 中,我拥有所有这些信息:
<Folder>
<Placemark id="placemark54021">
<name> Punta Cana</name>
<lat>38.89</lat>
<longitudo>15.78</longitudo>
<magnitudo>2.1</magnitudo>
<profondita>109</profondita>
<data_intera>18/01/2019</data_intera>
<orario>09:10</orario>
<styleUrl>#simbolo_last_0_1</styleUrl>
<Point>
<coordinates>15.78,38.89</coordinates>
</Point>
</Placemark>
</Folder>
但是,如果我尝试获取属性,我只能读取 "name" 属性:
例如
map.on(select, function(event) {
var feature = map.forEachFeatureAtPixel(event.pixel,
function(feature, layer) {
var values = feature.values_;
var coordinate = event.coordinate;
var hdms = ol.coordinate.toStringHDMS(ol.proj.toLonLat(coordinate));
content.innerHTML = '<p style="font-weight: 800">'+ values.name +' - ' + '02/02/2002' + ' - ore 06:00</p>' +
'<p><span style="font-weight: bold; color: red;">Magnitudo: 2.2</span> - ' +
'<b>Lat:</b> 42.00 - <b>Long</b>: 32.00 - <b>Profondità</b>: 9km</p>';
overlay.setPosition(coordinate);
}, {
hitTolerance: 5
});
});
我使用 values.name 正确读取了属性名称。 但是,如果我尝试 same way 来读取其他属性。 例如。: - 值.lat - 值.longitudo ETC... 它不起作用!
如何从 KML 收集其他属性? 我错过了什么吗?
谢谢!
【问题讨论】:
标签: javascript openlayers kml openlayers-5