2013-05-22 2 views
1

Есть ли способ совершить экскурсию, которая получает координаты из сценария и обновление тура?Возможно ли иметь динамический тур из данных в реальном времени kml

Я получаю данные из питона сценария, а затем хочу обновить муху в coordiantes в туре в режиме реального времени, но не знаю, как сделать это

Я попытался с помощью ссылки сети, но он не был работать и im not sure, если я использую animatedupdate или не

ответ

0

Я не пробовал, но это возможно с помощью NetworkLinkControl в KML. Для этого вам понадобится в общей сложности четыре файла KML. В вашем сценарии первые три могут быть жестко закодированы, а четвертый может сгенерировать из вашего скрипта python.

  1. нагрузки tour.kml - это NetworkLink файл, который загружает tour.kml
  2. tour.kml - это файл, содержащий исходные данные тура KML
  3. обновление-tour.kml - это NetworkLink файл, который загружает обновленный TOUR New-data.kml
  4. новый-data.kml - это NetworkLinkControl, который обновляет оригинальный tour.kml

Вот четыре файла, я пропустил декларацию KML и корневой элемент для краткости ...

нагрузки tour.kml

<NetworkLink> 
    <name>load</name> 
    <Link> 
    <href>tour.kml</href> 
    </Link> 
</NetworkLink> 

tour.kml

<Document> 
    <gx:Tour id="myTour"> 
    <name>tour</name> 
    <gx:Playlist id="myPlaylist"> 
    <!-- existing tour data goes here --> 
    </gx:Playlist> 
    </gx:Tour> 
</Document> 

обновление-tour.kml

<NetworkLink> 
    <name>update</name> 
    <Link> 
    <href>new-data.kml</href> 
    </Link> 
</NetworkLink> 

нового data.kml

<NetworkLinkControl> 
    <Update> 
    <targetHref>tour.kml</targetHref> 
    <Change> 
     <gx:Playlist id="myPlaylist"> 
     <!-- new tour data goes here --> 
     </gx:Playlist> 
    </Change> 
    </Update> 
</NetworkLinkControl> 

Вот документация по NetworkLinkControl и его использование в обновлении данных.

https://developers.google.com/kml/documentation/kmlreference#networklinkcontrol

https://developers.google.com/kml/documentation/updates

0

Вы можете иметь NetworkLink обновить положение камеры автоматически с помощью flytoView. Это не настоящий Тур, но работает аналогичным образом. Каждый раз, когда он загружает ссылку, он перелетает к новому элементу LookAt или Camera в связанном KML.

root.kml

<NetworkLink> 
    <Link><href>new_camera.kml</href></Link> 
    ... 
    <flyToView>1</flyToView> 
</NetworkLink> 

new_camera.KML

<Document> 
    <Camera>... 
    or 
    <LookAt>... 
</Document> 

Я не имел успеха обновляя игральный тур от NetworkLink, кроме изменения названия элемента Tour. Я попытался запустить цикл Tour, а затем изменить элементы Playlist или FlyTo из NetworkLinkControl, но я вижу только изменение камеры, если вручную перезапустить Тур.

 Смежные вопросы

  • Нет связанных вопросов^_^