2011-03-22 69 views
1

我想要使用Google Maps v3獲取KMZ地標的突出顯示/懸停/鼠標懸停樣式。當我使用Google地球打開KMZ文件時,如果徘徊,合適的區域將根據預期更改爲highlightPlacemark樣式。但是當我將這個KMZ加載到Google Map對象上時,風格從不改變。突出顯示/ mouseover與KMZ文件中的多邊形斷開谷歌地圖v3

這裏是什麼風格的樣子:

<Style id="highlightPlacemark"> 
    <LineStyle> 
     <color>ff000000</color> 
    </LineStyle> 
    <PolyStyle> 
     <color>a60000ff</color> 
    </PolyStyle> 
</Style> 
<StyleMap id="exampleStyleMap"> 
    <Pair> 
     <key>normal</key> 
     <styleUrl>#normalPlacemark</styleUrl> 
    </Pair> 
    <Pair> 
     <key>highlight</key> 
     <styleUrl>#highlightPlacemark</styleUrl> 
    </Pair> 
</StyleMap> 
<Style id="normalPlacemark"> 
    <LineStyle> 
     <color>ff000000</color> 
    </LineStyle> 
    <PolyStyle> 
     <color>a6ffffff</color> 
    </PolyStyle> 
</Style> 

這裏的地標是什麼樣子:

<Placemark id="1"> 
    <name>Test</name> 
    <Snippet maxLines="0"></Snippet> 
    <styleUrl>#exampleStyleMap</styleUrl> 
    <Polygon> 
     <extrude>1</extrude> 
     <tessellate>1</tessellate> 
     <outerBoundaryIs> 
      <LinearRing> 
       <coordinates> 
        ...lots of coordinates here... 
       </coordinates> 
      </LinearRing> 
     </outerBoundaryIs> 
    </Polygon> 
</Placemark> 

此功能只在谷歌地球的工作還是有一種變通方法,使它在Google Maps v3中工作? 我能想到的唯一方法是創建單獨的多邊形對象,並分別向它們提供座標。這允許您使用Polygon類的mouseover事件。我寧願所有我的多邊形在1單個文件雖然...

在此先感謝!

回答

0

此問題已在Google Maps API問題跟蹤器中報告爲#131,見here。 除了「WontFix」以外,該問題沒有評論/理由關閉。

KmlLayers呈現爲瓷磚,所以我想這使得更難使用鼠標懸停事件。

2

我意識到這是一個非常古老的問題,但認爲它可能有助於某人。 Google地圖不支持所有KML代碼。 (如果不是所有的谷歌地球的支持。)例如:

<StyleMap></StyleMap> 

在谷歌地圖支持,但在地球的使用效果。所以這就是爲什麼它不起作用。

我目前正在尋找解決方案,以便在Google地圖中爲KML多邊形懸停狀態。 (沒有額外的javascript或混亂的重複解決方法。)但它不是最重要的,所以如果我很快就找不到我的解決方案,我現在就只能沒有這個功能。