Google Earth では、デフォルトで [境界線とラベル] (国の概要を表示) がオンになっています。境界線をオフにしたい KMZ/KML ファイルがあります。KML を説明するドキュメントを検索しましたが、レイヤーに関連するものは見つかりません。
また、ボーダーをオンにした場合とオフにした場合の KMZ ファイルを保存しようとしましたが、それらは同一です。
KML API を介してレイヤーにアクセスする方法を知っている人はいますか?
Google Earth では、デフォルトで [境界線とラベル] (国の概要を表示) がオンになっています。境界線をオフにしたい KMZ/KML ファイルがあります。KML を説明するドキュメントを検索しましたが、レイヤーに関連するものは見つかりません。
また、ボーダーをオンにした場合とオフにした場合の KMZ ファイルを保存しようとしましたが、それらは同一です。
KML API を介してレイヤーにアクセスする方法を知っている人はいますか?
KML を介して直接 Google Earth のレイヤをオン/オフすることはまだできません。現在、これは Google Earth のユーザーによって手動で行われています。
ただし、現在、過去の画像、ストリートビュー、太陽光モードのオン/オフを切り替える指令があります。 https://developers.google.com/kml/documentation/kmlreference#gxvieweroptions
ただし、GE API を使用して簡単にレイヤーのオン/オフを切り替えることができます。
特定のレイヤーを有効にするには:
ge.getLayerRoot().enableLayerById(ge.LAYER_NAME, true)
レイヤーを無効にするには:
ge.getLayerRoot().enableLayerById(ge.LAYER_NAME, false);
参照: https://developers.google.com/earth/documentation/layers#layers
API には ge.LAYER_BORDERS 内の個々のレイヤーに対して定義された定数はありませんが、KML ファイルを見ると、各「フォルダー」ノードには ID があるため、JasonM1 が言うように、必要なレイヤーごとに enableLayerById を使用できます。最上位のノード (この場合は ge.LAYER_BORDERS) をオンにしてからオフにします。
APIを介して「境界線とラベル」レイヤーをクリーンアップするために使用したコードは次のとおりです。
ge.getLayerRoot().enableLayerById(ge.LAYER_BORDERS, true);
ge.getLayerRoot().enableLayerById("530286de-c7b3-11dc-938c-dd553d8c9902", false); // internation borders
ge.getLayerRoot().enableLayerById("cfdff130-394a-11e0-98fa-dd5743f1dfd8", false); // coastline
ge.getLayerRoot().enableLayerById("533444c6-c7b3-11dc-b02e-dd553d8c9902", false); // 1st level borders too
ge.getLayerRoot().enableLayerById("534ab67a-c7b3-11dc-a2a7-dd553d8c9902", false); // 2nd level borders too
ge.getLayerRoot().enableLayerById("e2334aaa-e853-11df-9192-77880e18aa7d", false); // geographic features
ps「borders and labels.kml」ファイルをどこで入手したかわかりませんが、おそらくどこかにあったので、探し続けます...