通过Google地球内的链接检查/取消选中元素

时间:2012-04-11 14:28:07

标签: google-earth

所以我有一个包含2个地标的文件夹。其中一个隐藏在负载上,而另一个是可见的。我想在可见的描述中有一个链接来隐藏/显示隐藏的链接。有没有办法做到这一点?

1 个答案:

答案 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);