2012-12-31 39 views
2

我有一個kml文件,其中包含許多簡單的點地標,每個地標的名稱都覆蓋美國。我試圖找到一種方法來控制他們的標籤顯示,以使視圖在更高的高度不混亂。我已經看過提及區域的使用,但似乎這必須應用於每個地標。我知道一些東西必須可用於此,因爲GE在默認圖層上執行了這種操作,即「已填充位置」。此外,似乎有一些默認工作,當我縮放足夠遠的標籤消失沒有任何輸入我的kml。控制地標上的標籤可見性

任何意見的讚賞!

回答

3

要控制KML中標籤的顯示,您可以使用如上所述的區域和/或具有普通和突出顯示的LabelStyle的StyleMap。

如果您捕獲到Google地球的HTTP流量,您會注意到邊框和標籤默認圖層(使用區域和嵌套網絡鏈接)被實現爲KML文件。

地區

如果你不想在每個地標創建Region,那麼你可以組你的地標到文件夾和該文件夾具有區域時標是可見的控制。正確創建區域需要一些試驗和錯誤。您甚至可能不需要指定最小/最大高度 - 適合區域尺寸的適當的minLodPixels值可能就足夠了。

關於Regions的教程可以在這裏找到。
https://developers.google.com/kml/documentation/regions

StyleMap設定

您可能希望創建一個StyleMap凡正常風格與0分至完全抑制標籤或更小的值簡單地減少雜波LabelStyle。

<Style id="sn_style"> 
     <LabelStyle> 
      <scale>0</scale> 
     </LabelStyle> 
    </Style> 

    <Style id="sh_style"> 
     <LabelStyle> 
      <scale>1.1</scale> 
     </LabelStyle> 
    </Style> 

    <StyleMap id="msn_style"> 
     <Pair> 
      <key>normal</key> 
      <styleUrl>#sn_style</styleUrl> 
     </Pair> 
     <Pair> 
      <key>highlight</key> 
      <styleUrl>#sh_style</styleUrl> 
     </Pair> 
    </StyleMap> 
+0

只是一個評論,如果您使用的銫不要嘗試使用StyleMap設定。他們目前還不支持亮點。他們聲稱這將是未來的特色。 – wdlax11

2

有同樣的問題,我無法找到任何快速解決方案,因爲我的.kml包含近10k POI。所以我所做的就是將通過FAQ提供的代碼,所以我的頭看起來像這樣:

<?xml version="1.0" encoding="utf-8" ?> 
<kml xmlns="http://www.opengis.net/kml/2.2"> 
<Document><Folder><name>name</name><Style id="hideLabel"><LabelStyle><scale>0</scale></LabelStyle></Style> 

我改變了第一標,以這樣的:

Placemark> 
    <name>name</name> 
    <styleUrl>#hideLabel</styleUrl> 
    <ExtendedData><SchemaData schemaUrl="#name"> 
     <SimpleData name="Name">name</SimpleData> 
     <SimpleData name="Latitude">xxxx</SimpleData> 
     <SimpleData name="Longitude">yyyy</SimpleData> 
    </SchemaData></ExtendedData> 
     <Point><coordinates>xxxx,yyyy</coordinates></Point> 
    </Placemark> 

之後,我裝了。 kml到谷歌地球,並右鍵單擊它以選擇屬性。選擇「風格,顏色」選項卡,它應該聲明以下內容:

此文件夾的後代不共享相同的樣式。點擊 如果要強制所有子共享 相同的風格

點擊下面的「分享式」按鈕下方的按鈕,它會暫時隱藏所有的標籤。

親切的問候,

托馬斯