0

そのため、2 つの目印を含むフォルダーがあります。それらの 1 つは読み込み時に非表示になり、もう 1 つは表示されます。表示されているものの説明に、非表示のものを非表示/表示するためのリンクが必要です。これを行う方法はありますか?

4

1 に答える 1

0

Google Earth プラグインを使用している場合、これは 1 つの方法です。

まず、各目印に「id」を割り当てます。そのため、KML ファイルで次のコードを編集する必要があります。

   <Placemark>
   <name>Placemark 1</name>

   <Placemark id="placemark1">
   <name>Placemark 1</name>

Placemark #2 についても同様

次に、以下のような JavaScript 関数を作成します。これは、バルーンの説明を介してボタンを追加することで実行されます(方法については、このサンプル ページを参照してください)。

    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);
于 2012-04-11T16:49:50.757 に答える