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