2013-05-05 45 views
1

我有一個系統設置在一個簡單的NetworkLink安裝在許多用戶系統。更新現有的NetworkLink

我然後定期(每星期左右)

更新,它鏈接到用戶可以刷新看到最新版本的KML/Z文件。

這本來是很好,有我做到了自動刷新,但是當我創造它,我不認爲太辛苦了。

那麼,有沒有在已分配網絡鏈接安裝更新處理的方式,也可以通過第二網絡鏈接這個環節的工作,以獲得較大的KML文件在「mostrecentversion」模式。

這也將是很好,使鏈接更隱形。

的聯繫是目前: 的KML具有通常的頭,幷包含這一個對象

<NetworkLink> 
    <name>etc</name> 
    <Snippet maxLines="0"/> 
    <visibility>1</visibility><open>1</open> 
    <refreshVisibility>0</refreshVisibility> 
    <flyToView>1</flyToView> 
    <Link> 
    <href>http://dl.dropbox.com etc TrapLinesData.kmz</href> 
    </Link> 
</NetworkLink> 

但我並沒有把任何refreshModes等

任何思考這個引導需要可以理解的因爲試圖向不太熟練的用戶展示如何刷新正在成爲一個問題。

Bob J.'

回答

1

通過在你的KML一個NetworkLink使所有谷歌地球客戶端加載的每一個它們啓動時所引用的最新KML。 Google地球不會存儲NetworkLink的內容(僅NetworkLink引用本身) - 每次啓動時都會提取內容。

如果您只更新目標KML每週一次,而不是每隔一小時,那麼你不應該與KML一個問題,因爲它目前存在的客戶。唯一不會獲得更新的客戶是那些一直保持並運行數週的Google地球客戶端,這種情況並不常見。

如果要強制刷新,甚至一個星期的時間間隔,那麼你可以定義網絡鏈接如下所示:

<NetworkLink> 
    <Link> 
    <href>...</href> 
    <refreshMode>onInterval</refreshMode> 
    <refreshInterval>604800</refreshInterval> 
    </Link> 
</NetworkLink> 

如果您的KML僅適用於特定區域,那麼你可能要定義一個Region您的NetworkLink並在區域上將<viewRefreshMode>更改爲,因此只有在該區域處於視野範圍內時纔會加載。如果該地區不在視圖中,則無需獲取您的KML - KML最佳做法。然後,您的KML應該是這樣的:

<NetworkLink> 
    <Region> 
    ... 
    </Region> 
    <Link> 
    <href>...</href> 
    <refreshMode>onInterval</refreshMode> 
    <refreshInterval>604800</refreshInterval> 
    <viewRefreshMode>onRegion</viewRefreshMode> 
    </Link> 
</NetworkLink>