【发布时间】:2017-12-29 18:47:44
【问题描述】:
我发现导航具有多个连接的 LineStrings 的文件特别困难,这些 LineStrings 没有标签,当您通过左侧面板单击一个时,描述弹出窗口在指向线时非常不准确,而且它没有突出显示它或任何东西。
我知道鼠标悬停高亮样式,但是否有单击/选择样式?仅使用 kml 语法
【问题讨论】:
我发现导航具有多个连接的 LineStrings 的文件特别困难,这些 LineStrings 没有标签,当您通过左侧面板单击一个时,描述弹出窗口在指向线时非常不准确,而且它没有突出显示它或任何东西。
我知道鼠标悬停高亮样式,但是否有单击/选择样式?仅使用 kml 语法
【问题讨论】:
您可以在描述中向 KML 添加 onclick JavaScript 操作,但您只能通过 DOM 对任何操作更改 HTML 的内容。但是,只有在显示描述弹出窗口时,更改才会存在。当再次选择地标时,描述将重新呈现在 HTML 中,就像它最初一样。此外,您不能通过 JavaScript 直接更改 KML 样式(例如图标颜色等)。
这是一个简单的 JavaScript onClick 示例:
<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2">
<Placemark>
<name>Hello World</name>
<snippet>Click the link in the description balloon to run some JavaScript!</snippet>
<description><![CDATA[
<html>
<script>
function buttonclick() {
document.getElementById('status').innerHTML = 'You clicked the button!';
}
</script>
<a href="#" onclick="buttonclick(); return false;">Click me!</a>
<div id="status" style="font-style: italic; color: #0a0;"></div>
</html>
]]></description>
<Point>
<coordinates>-122,37</coordinates>
</Point>
</Placemark>
</kml>
如果您想在查看或单击等时更改功能的样式,那么您可能需要使用CesiumJS 进行调查。您基本上可以向功能添加任何操作。
【讨论】: