所以我有一个包含2个地标的文件夹。其中一个隐藏在负载上,而另一个是可见的。我想在可见的描述中有一个链接来隐藏/显示隐藏的链接。有没有办法做到这一点?
答案 0 :(得分:0)
如果您使用的是Google地球插件,这是一种方法。
首先为每个地标指定一个'id' - 所以在KML文件中你需要编辑代码
<Placemark>
<name>Placemark 1</name>
到
<Placemark id="placemark1">
<name>Placemark 1</name>
和地标#2相同
然后你有一个类似下面的javascript函数,通过在气球描述中添加一个按钮来执行(see this example page for how to do that)
function togglePlacemarks() {
var pm1 = ge.getElementById('placemark1');
var pm1 = ge.getElementById('placemark1');
if (pm1.getVisibility() == true) {
pm1.setVisibility(false);
pm2.setVisibility(true);
} else {
pm1.setVisibility(true);
pm2.setVisibility(false);
}
}
在从气球执行JS的示例代码中,您将更改以下行
balloon.setContentString(
'<a href="#" onclick="alert(\'Running some JavaScript!\');">Alert!</a>');
到
balloon.setContentString(
'<a href="#" onclick="togglePlacemarks();">Toggle Visibility</a>');
最后,如果您只想要一个简单的(即只有2个地标),那么您可能应该使用示例代码来创建地标,而不是创建和加载自定义KML文件。在这种情况下,当你创建地标(通过这行代码)
placemark = ge.createPlacemark('');
你会这样做
placemark1 = ge.createPlacemark('placemark1');
...etc
以及
placemark2 = ge.createPlacemark('placemark2');
... etc
placemark2.setVisibility(false);