2012-05-31 32 views
0

我試圖在Googlemaps中的KML文件中更改標記的樣式。當我在googleearth中運行文件時,標記是不同的。當我在google地圖上運行它時,它和以前一樣只是外觀。爲什麼會發生?如何從KML文件更改標記的樣式?

這裏的KML文件的開頭:

<?xml version="1.0" encoding="UTF-8"?> 
<kml xmlns="http://www.google.com/earth/kml/1"> 
<Document> 

<Style id="bendigo"> 
<BalloonStyle> 
    <text>$[description]</text> 
</BalloonStyle> 
<IconStyle> 
    <Icon> 
     <href>http://maps.google.com/mapfiles/kml/paddle/grn-blank.png</href> 
    </Icon> 
    </IconStyle> 
</Style> 

<name>kml_sample1.kml</name> 
<Placemark> 
<name>Boat</name> 
<description><![CDATA[ 
    Boat<br /> 
    <p>Home page: <a href="google.com">google.com</a></p> 
]]> 
</description> 

<styleUrl>#bendigo</styleUrl> 

<Point> 
<!--run a javascript to get data points--> 
    <coordinates>7.666037,64.32565</coordinates> 
</Point> 

回答

0

您的KML上面的代碼中缺少標,文檔,和KML結束標記。

一旦固定,我能夠加載KML到谷歌地圖,它看起來很好(綠色標記)。

有最近更新的KML中可能會暫時影響了這個谷歌地圖呈現,但我不能肯定,因爲現在對我來說工作正常。如果您確認它現在看起來很好,那可能是問題所在。

+0

呵呵,我不明白(我知道它缺少片段,它只是必不可少的部分)。但現在它起作用了。看起來,當我將kml文件更改爲查看結果時,會有很長的延遲。你知道爲什麼會出現這種情況,以及如何處理它?哦,我現在寫的代碼現在是: -/ – Stagleton

+0

您的KML緩存在Google的服務器上。然而(幾個月前這是最近的一次增加)緩存應該尊重你的緩存頭 - 最少緩存時間爲5分鐘。因此,您將緩存標頭設置爲至少5分鐘,如果需要立即更新以用於測試目的,則只需添加一個隨機url參數即可獲取未緩存的副本(但請不要在生產站點上執行此操作)! – jlivni

+0

你有沒有參考資料,我可以每5分鐘重新緩存一次? – Stagleton