2013-05-05 3 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 и т.д.

Любые мысли по этому самозагрузкой нужно будет иметь в виду, как попытка показать менее опытный пользователь, как Refresh становится проблемой.

Bob J. '

ответ

1

Имея NetworkLink в своем KML, все клиенты Google Планета Земля загружают последний KML, на который ссылаются каждый раз при запуске. Google Earth не будет хранить содержимое NetworkLink (только для самой ссылки NetworkLink) - этот контент извлекается каждый раз при запуске.

Если вы обновляете свой целевой KML один раз в неделю, а не каждый час, то у вас не должно быть проблем с KML, поскольку он в настоящее время существует в клиентах. Единственными клиентами, которые не получат обновление, являются те клиенты Google Планета Земля, которые не работают и работают в течение нескольких недель в то время, которое не так распространено.

Если вы хотите, чтобы обновление даже недельный интервал, то вы могли бы определить NetworkLink как:

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

Если KML только для конкретного региона, то вы можете определить Region в ваш NetworkLink и измените <viewRefreshMode> на onRegion, чтобы он загружался только тогда, когда этот регион находится в поле зрения. Не нужно извлекать ваш KML, если регион не рассматривается - наилучшая практика KML. Ваш KML будет выглядеть следующим образом:

<NetworkLink> 
    <Region> 
    ... 
    </Region> 
    <Link> 
    <href>...</href> 
    <refreshMode>onInterval</refreshMode> 
    <refreshInterval>604800</refreshInterval> 
    <viewRefreshMode>onRegion</viewRefreshMode> 
    </Link> 
</NetworkLink> 
Смежные вопросы