Tur di KML

Daftar Isi

Pengantar

Baru di Google Earth 5.0, tur memungkinkan penerbangan terkontrol melalui data geospasial, termasuk:

  • durasi penerbangan tertentu antar-lokasi
  • penerbangan mulus melewati lokasi, tanpa perhentian
  • memutar file suara pada waktu yang ditentukan sebelumnya selama tur
  • pembaruan sementara pada fitur KML dalam batas-batas tur

Untuk informasi selengkapnya tentang tur dari sudut pandang klien Google Earth, lihat Panduan Pengguna Google Earth.

Namespace ekstensi Google

Elemen KML yang menentukan tur dimuat dalam kumpulan ekstensi ke standar KML OGC, menggunakan awalan gx. Untuk menggunakannya, Anda harus menyertakan URI namespace yang benar dalam elemen <kml> pembuka di file KML Anda:

<kml xmlns="http://www.opengis.net/kml/2.2"
 xmlns:gx="http://www.google.com/kml/ext/2.2">

Elemen terkait tur dalam kumpulan ekstensi gx mencakup:

<gx:Tour> <gx:playMode>
<gx:Playlist> <gx:Wait>
<gx:Flyto> <gx:AnimatedUpdate>
<gx:flyToMode> <gx:SoundCue>
<gx:TourControl> <gx:duration>

Tur didukung di Google Earth 5.0, tetapi mungkin tidak didukung di browser geografis lainnya. Jika browser Anda tidak mendukung ekstensi tertentu, data dalam ekstensi tersebut harus diabaikan secara diam-diam, dan file KML lainnya akan dimuat tanpa error.

Penghentian Penggunaan

primitif tur: salah satu dari kumpulan elemen yang menentukan tindakan dalam tur. Contoh primitif tur adalah FlyTo, yang ditentukan oleh elemen <gx:FlyTo> dan turunannya.

playlist: penampung untuk daftar primitif tur yang menentukan tur. Playlist dapat divisualisasikan di sepanjang linimasa (lihat Linimasa tur untuk mengetahui informasi selengkapnya).

Struktur tur

Tur dibuat dengan menempatkan elemen tertentu secara berurutan ke dalam file KML. File KML dapat berisi elemen KML hukum lainnya bersama dengan tur.

Contoh berikut menunjukkan tur lengkap dan Folder yang berisi sejumlah penanda letak. Tur dimulai di Pulau Selatan Selandia Baru, sebelum terbang ke utara melalui Gunung Taranaki, dan menunjukkan flyToModes smooth dan pantulan, serta metode <gx:balloonVisibility> untuk membuka balon deskripsi. Elemen tur dijelaskan secara lebih mendetail di bawah.

complete_tur_example.kml

<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2"
 xmlns:gx="http://www.google.com/kml/ext/2.2">

<Document>
  <name>A tour and some features</name>
  <open>1</open>

  <gx:Tour>
    <name>Play me!</name>
    <gx:Playlist>

      <gx:FlyTo>
        <gx:duration>5.0</gx:duration>
        <!-- bounce is the default flyToMode -->
        <Camera>
          <longitude>170.157</longitude>
          <latitude>-43.671</latitude>
          <altitude>9700</altitude>
          <heading>-6.333</heading>
          <tilt>33.5</tilt>
        </Camera>
      </gx:FlyTo>

      <gx:Wait>
        <gx:duration>1.0</gx:duration>
      </gx:Wait>

      <gx:FlyTo>
        <gx:duration>6.0</gx:duration>
        <Camera>
          <longitude>174.063</longitude>
          <latitude>-39.663</latitude>
          <altitude>18275</altitude>
          <heading>-4.921</heading>
          <tilt>65</tilt>
          <altitudeMode>absolute</altitudeMode>
        </Camera>
      </gx:FlyTo>

      <gx:FlyTo>
        <gx:duration>3.0</gx:duration>
        <gx:flyToMode>smooth</gx:flyToMode>
        <LookAt>
          <longitude>174.007</longitude>
          <latitude>-39.279</latitude>
          <altitude>0</altitude>
          <heading>112.817</heading>
          <tilt>68.065</tilt>
          <range>6811.884</range>
          <altitudeMode>relativeToGround</altitudeMode>
        </LookAt>
      </gx:FlyTo>

      <gx:FlyTo>
        <gx:duration>3.0</gx:duration>
        <gx:flyToMode>smooth</gx:flyToMode>
        <LookAt>
          <longitude>174.064</longitude>
          <latitude>-39.321</latitude>
          <altitude>0</altitude>
          <heading>-48.463</heading>
          <tilt>67.946</tilt>
          <range>4202.579</range>
          <altitudeMode>relativeToGround</altitudeMode>
        </LookAt>
       </gx:FlyTo>

      <gx:FlyTo>
        <gx:duration>5.0</gx:duration>
        <LookAt>
          <longitude>175.365</longitude>
          <latitude>-36.523</latitude>
          <altitude>0</altitude>
          <heading>-95</heading>
          <tilt>65</tilt>
          <range>2500</range>
          <altitudeMode>relativeToGround</altitudeMode>
        </LookAt>
      </gx:FlyTo>

      <gx:AnimatedUpdate>
        <gx:duration>0.0</gx:duration>
        <Update>
          <targetHref/>
          <Change>
            <Placemark targetId="pin2">
              <gx:balloonVisibility>1</gx:balloonVisibility>
            </Placemark>
          </Change>
        </Update>
      </gx:AnimatedUpdate>

      <gx:Wait>
        <gx:duration>6.0</gx:duration>
      </gx:Wait>

    </gx:Playlist>
  </gx:Tour>

  <Folder>
    <name>Points and polygons</name>

    <Style id="pushpin">
      <IconStyle>
        <Icon>
          <href>http://maps.google.com/mapfiles/kml/pushpin/ylw-pushpin.png</href>
        </Icon>
      </IconStyle>
    </Style>

    <Placemark id="mountainpin1">
      <name>New Zealand's Southern Alps</name>
      <styleUrl>#pushpin</styleUrl>
      <Point>
        <coordinates>170.144,-43.605,0</coordinates>
      </Point>
    </Placemark>

    <Placemark id="pin2">
      <name>The End</name>
      <description>
        Learn more at http://developers.google.com/kml/documentation
      </description>
      <styleUrl>pushpin</styleUrl>
      <Point>
        <coordinates>175.370,-36.526,0</coordinates>
      </Point>
    </Placemark>

    <Placemark id="polygon1">
      <name>Polygon</name>
      <Polygon>
        <tessellate>1</tessellate>
        <outerBoundaryIs>
          <LinearRing>
            <coordinates>
              175.365,-36.522,0
              175.366,-36.530,0
              175.369,-36.529,0
              175.366,-36.521,0
              175.365,-36.522,0
            </coordinates>
          </LinearRing>
        </outerBoundaryIs>
      </Polygon>
    </Placemark>

  </Folder>
</Document>
</kml>

Linimasa tur

Tur terdiri dari serangkaian primitif tur - FlyTos, Waits, TourControls, AnimatedUpdates, dan SoundCues. Beberapa primitif ini diputar satu demi satu, menunggu satu primitif selesai sebelum memulai yang berikutnya. Sebagian lainnya berjalan paralel dengan primitif lainnya, sehingga beberapa tindakan dapat terjadi secara bersamaan.

Primitif yang terjadi dalam rangkaian

  • <gx:FlyTo>
  • <gx:Wait>
  • <gx:TourControl>

Primitif ini terjadi satu demi satu, dan harus sepenuhnya selesai sebelum playlist berpindah ke elemen lain apa pun, dengan jenis apa pun. Ini berarti bahwa hanya satu primitif jenis seri (FlyTo, Wait, atau TourControl) yang dapat dijalankan pada satu waktu, dan tidak ada SoundCues atau AnimatedUpdates tambahan yang dapat dimulai saat primitif jenis seri sedang berlangsung.

Primitif yang terjadi secara paralel

  • <gx:AnimatedUpdate>
  • <gx:SoundCue>

Primitif ini ditandai saat muncul dalam playlist. Setelah dimulai, playlist akan langsung dilanjutkan ke primitif berikutnya, tanpa perlu menunggu SoundCue atau AnimatedUpdate selesai. Hal ini berarti:

  • berapa pun SoundCues dan/atau AnimatedUpdates dapat dilakukan secara bersamaan, dengan memberi isyarat satu demi satu dalam playlist
  • SoundCues dan/atau AnimatedUpdates dapat terjadi saat primitif jenis seri diputar (meskipun tidak dapat dimulai saat primitif jenis seri diputar)

Diagram di bawah menggambarkan perilaku ini. Klik gambar untuk tampilan yang lebih mendetail, termasuk konten KML yang mendefinisikan setiap primitif dalam playlist.


 

Diagram ini menunjukkan bahwa setiap FlyTo membutuhkan jumlah waktu tertentu (ditentukan dalam elemen <gx:duration>-nya) untuk diselesaikan. primitif berikutnya akan dimulai hanya setelah waktu tersebut berlalu.

Di sisi lain, SoundCue berlangsung secara paralel. Primitif berikutnya di linimasa utama terjadi secara langsung, pada saat yang sama dengan file suara yang mulai diputar. File suara akan berlanjut hingga akhir file tercapai, atau akhir tur, mana saja yang lebih dulu terjadi. Jika tur berakhir sebelum file suara diputar, file suara akan berhenti diputar. Sejumlah file suara dapat diputar kapan saja, karena masing-masing file dimuat ke dalam linimasanya sendiri.

Update animasi berperilaku dengan cara yang sama. Jika ikon penanda letak disetel untuk bertambah besar selama durasi 5 detik, ikon tersebut akan dilakukan saat primitif berikutnya di linimasa utama berlangsung.

FlyTo dan flyToMode

Tur berpindah dari satu lokasi ke lokasi lainnya, yang masing-masing ditentukan menggunakan elemen <gx:FlyTo>. Ini berisi AbstractView (<Camera> atau <LookAt>) yang menentukan lokasi tampilan, sudut, dan ketinggian dalam Google Earth.

Selain itu, flyToMode dapat ditentukan yang akan memberi tahu browser cara melakukan pendekatan. Sebelum pengenalan <gx:Tour>, 'tur' diputar di browser dengan melompat dari penanda letak ke penanda letak - kecepatan penerbangan (yang ditentukan oleh browser) akan melambat saat browser mendekati penanda letak, yang diakhiri dengan kecepatan nol sebelum melanjutkan ke penanda letak berikutnya. Perilaku ini masih dapat ditentukan dalam tur menggunakan properti elemen <gx:flyToMode>bounce</gx:flyToMode>.

flyToMode smooth memungkinkan penerbangan yang lancar dan terkontrol melalui ruang. Kecepatan antartitik dikontrol oleh penyertaan elemen <gx:duration>, yang menentukan waktu yang dibutuhkan browser untuk berpindah dari titik saat ini ke tampilan yang ditentukan berikutnya. Penerbangan yang tidak terputus terdiri dari serangkaian FlyTos dengan flyToModes yang lancar - browser Earth melakukan interpolasi kecepatan dan jalur melengkung antar-titik sehingga setiap penanda letak dicapai tepat pada waktu yang ditentukan di KML. Tidak seperti flyToMode pantulan, kecepatan tidak pernah mencapai nol hingga penerbangan mengalami error karena salah satu peristiwa berikut:

  • di akhir tur,
  • titik dengan flyToMode pantulan, atau
  • menunggu.

Jeda, update animasi, dan tanda suara tidak merusak penerbangan.

FlyTo Awal

<gx:FlyTo> pertama yang terdapat dalam playlist diterbangkan dari keuntungan penonton saat ini di Google Earth. Durasi diamati sehingga kecepatan ke titik pertama akan sangat bervariasi, bergantung pada lokasi penonton di Bumi saat tur dimulai. Sebaiknya FlyTo awal ini berisi durasi 5 detik atau lebih, dan menggunakan mode pantulan, untuk pengalaman menonton terbaik.

Jika <gx:flyToMode> ditetapkan ke smooth untuk FlyTo pertama, dan diikuti dengan FlyTo halus tambahan, posisi awal penampil akan dianggap sebagai titik dalam kurva yang mulus, dan akan memengaruhi kurva jalur antara titik pertama dan berikutnya. Artinya, rangkaian awal FlyTo yang lancar akan berbeda untuk setiap penonton, bergantung pada apa yang sedang mereka lihat di klien Earth saat tur dimulai. Jika FlyTo yang lancar ke titik awal masih diinginkan, <gx:Wait> dapat disisipkan ke kode tur setelah FlyTo pertama. Tindakan ini akan memisahkan posisi awal dari bagian tur lainnya.

Contoh

Contoh berikut menunjukkan perbedaan antara pantulan dan flyToModes yang lancar. Setiap tur mengunjungi penanda letak yang sama, tetapi menggunakan flyToModes yang berbeda. Untuk memutar tur di Google Earth, klik link di atas setiap cuplikan kode, lalu klik dua kali nama tur dari panel Tempat di Google Earth.

pantulan_contoh.kml

<gx:FlyTo>
  <gx:duration>4.0</gx:duration>
  <!-- bounce is the default flyToMode -->
  <LookAt>
    <longitude>-121.303179</longitude>
    <latitude>45.993041</latitude>
    <altitude>0</altitude>
    <heading>-27.923387</heading>
    <tilt>71.600075</tilt>
    <range>22570.546801</range>
    <altitudeMode>relativeToGround</altitudeMode>
  </LookAt>
</gx:FlyTo>

<!-- ...snip... -->

smooth_example.kml

<gx:FlyTo>
  <gx:duration>4.0</gx:duration>
  <gx:flyToMode>smooth</gx:flyToMode>
  <LookAt>
    <longitude>-121.303179</longitude>
    <latitude>45.993041</latitude>
    <altitude>0</altitude>
    <heading>-27.923387</heading>
    <tilt>71.600075</tilt>
    <range>22570.546801</range>
    <altitudeMode>relativeToGround</altitudeMode>
  </LookAt>
</gx:FlyTo>

<!-- ...snip... -->

Menunggu dan menjeda

Menunggu menghentikan gerakan melalui ruang dalam tur, tetapi memungkinkan file suara dan pembaruan animasi dilanjutkan. Lamanya waktu tunggu ditentukan dalam KML.

Jeda akan menghentikan tur di lokasinya saat ini, seolah-olah pengguna telah mengklik tombol Jeda, dan memengaruhi semua primitif. Tur hanya dilanjutkan saat pengguna memilih tombol Putar dalam kontrol tur di Google Earth.

Waktu tunggu

Elemen ini hanya memengaruhi kamera. Ini menentukan durasi waktu saat kamera tetap diam. Semua file suara yang sedang diputar dan/atau update animasi tidak terpengaruh dan terus menunggu. Waktu tunggu dapat digunakan untuk memberikan file suara atau waktu pembaruan hingga selesai, sebelum FlyTo berikutnya dimulai atau sebelum tur berakhir.

<gx:Wait>
    <gx:duration>10.0</gx:duration>   <!-- wait time in seconds -->
</gx:Wait>

Durasi waktu tunggu ditentukan dalam detik, menggunakan elemen <gx:duration>. Setelah waktu berlalu, tur dilanjutkan dengan tindakan yang ditentukan berikutnya dalam playlist. Waktu tunggu merusak jalur penerbangan yang mulus, sehingga gerakan kamera melambat ke kecepatan nol di titik mana pun tepat sebelum menunggu, terlepas dari flyToMode-nya.

Menjeda

Jeda yang dikontrol pengguna ditentukan menggunakan <gx:TourControl> dan elemen turunannya, <gx:playMode>. Parameter kueri yang kedua memiliki nilai pause yang diizinkan. Pemanggilan tindakan ini mirip dengan pengguna yang mengklik tombol jeda di Google Earth - tur akan dijeda pada titik tersebut, dan tetap dijeda hingga tombol Putar diklik. Selama jeda, pengguna dapat bergerak sesuai keinginan di lingkungan Earth. Saat Play diklik, pengguna akan kembali ke titik dalam tur tempat jeda ditetapkan.

Jeda tidak merusak jalur penerbangan yang mulus, sehingga kecepatan di antara titik di kedua sisi jeda dihitung oleh browser seolah-olah jeda tidak ada.

<gx:TourControl>
    <gx:playMode>pause</gx:playMode>
</gx:TourControl>

Contoh

Berikut adalah contoh proses tunggu. File suara diberi tanda, yang berisi sepuluh detik ucapan pengantar. Tunggu selama sepuluh detik disisipkan tepat setelah tanda suara, mencegah FlyTo berikut terjadi hingga ucapan selesai.

wait_example.kml

<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2"
 xmlns:gx="http://www.google.com/kml/ext/2.2">   

<gx:Tour>
  <gx:Playlist>

    <gx:SoundCue>
      <href>
        http://dev.keyhole.com/codesite/cntowerfacts.mp3
      </href>   <!-- this file is ten seconds long -->
    </gx:SoundCue>

    <gx:Wait>
      <gx:duration>10</gx:duration>
    </gx:Wait>

    <gx:FlyTo>
      <gx:duration>5</gx:duration>
      <gx:flyToMode>bounce</gx:flyToMode>
      <LookAt>
        <longitude>-79.387</longitude>
<latitude>43.643</latitude>
<altitude>0</altitude> <heading>-172.3</heading> <tilt>10</tilt> <range>1200</range> <altitudeMode>relativeToGround</altitudeMode>
</LookAt> </gx:FlyTo> </gx:Playlist> </gx:Tour> </kml>

Contoh berikut menunjukkan penggunaan jeda. Penampil diterbangkan ke lokasi tertentu di Earth, lalu tur dijeda. Pengguna dapat bergerak di lingkungan Earth untuk jangka waktu berapa pun. Setelah siap untuk melanjutkan tur, mereka harus memilih Putar dari kontrol tur - Google Earth akan kembali ke lokasi terakhir tur dan terus bermain.

jeda_contoh.kml

<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2"
 xmlns:gx="http://www.google.com/kml/ext/2.2">  

<gx:Tour>
  <gx:Playlist>

    <gx:FlyTo>
<gx:duration>5</gx:duration>
<gx:flyToMode>bounce</gx:flyToMode>
<LookAt>
<longitude>-79.387</longitude>
<latitude>43.643</latitude>
<altitude>0</altitude>
<heading>-172.3</heading>
<tilt>10</tilt>
<range>1200</range>
<altitudeMode>relativeToGround</altitudeMode>
</LookAt>
</gx:FlyTo> <gx:TourControl> <gx:playMode>pause</gx:playMode> </gx:TourControl> <gx:SoundCue> <href> http://dev.keyhole.com/codesite/cntowerfacts.mp3 </href> <!-- this file is ten seconds long --> </gx:SoundCue> <gx:Wait> <gx:duration>10.0</gx:duration> </gx:Wait> </gx:Playlist> </gx:Tour> </kml>

Pembaruan

Fitur KML di lingkungan Earth dapat diubah, diubah, atau dibuat selama tur, termasuk ukuran, gaya, dan lokasi penanda letak, penambahan overlay bumi, geometri, dan lainnya. Untuk informasi selengkapnya tentang memperbarui KML, baca bagian Update pada Panduan Developer.

Pembaruan pada KML dapat berlangsung selama tur, dan diaktifkan melalui penggunaan elemen <gx:AnimatedUpdate>. Perilaku update dalam tur berbeda dengan perilaku Update di NetworkLink yang:

  • pembaruan pada KML akan diurungkan saat tur keluar, dan
  • pembaruan pada KML tidak disertakan saat status saat ini disimpan.

Selain itu, setiap perubahan yang cocok untuk interpolasi (yaitu, yang berisi status pemrosesan, seperti perubahan ukuran) akan dianimasikan selama durasi yang ditentukan. Perubahan yang tidak memiliki langkah perantara (seperti membuka atau menutup balon deskripsi) hanya akan diperbarui di akhir durasi yang ditentukan. Jika tidak ada durasi yang ditentukan, update akan segera terjadi (nilai default untuk <gx:duration> adalah 0.0).

Selain perbedaan yang tercantum di atas, Update dalam elemen <gx:AnimatedUpdate> berperilaku dengan cara yang sama seperti Update di <NetworkLinkControl>. Ini dapat digunakan untuk mengubah ukuran penanda, lokasi, dan tampilan; menambahkan overlay atau model tanah; dan, menggunakan elemen <gx:balloonVisibility>, mengalihkan balon informasi.

<gx:AnimatedUpdate> dan linimasa tur

Pembaruan animasi berjalan paralel dengan garis waktu - yaitu, tur berlanjut langsung ke tur dasar berikutnya dalam daftar putar, selagi pembaruan animasi berlangsung. <gx:duration> mengontrol durasi waktu yang diperlukan untuk memperbarui pembaruan, tetapi tidak menunda primitif tur berikutnya.

Untuk mengizinkan update animasi selesai sebelum tindakan berikutnya berlangsung, sisipkan <gx:Wait>, dengan durasi yang sama dengan durasi update, antara update animasi dan primitif tur berikut.

Selain itu, pembaruan animasi akan terpotong jika durasinya melebihi elemen <gx:FlyTo> atau <gx:Wait> terakhir. Anda dapat mengubah nilai <gx:duration> yang sesuai, atau menyisipkan elemen <gx:Wait> tambahan di akhir playlist untuk memberikan waktu pembaruan animasi agar selesai.

Untuk mengetahui informasi selengkapnya tentang linimasa, baca Linimasa tur di atas.

Contoh

Cuplikan kode berikut menunjukkan perubahan ukuran ikon penanda letak tertentu, dari skala 1,0 hingga skala 10,0. Perubahan tersebut berlangsung selama 6,5 detik, dan selama itu, ikon diperluas secara bertahap dari awal hingga ukuran akhir.

Perhatikan penyertaan primitif <gx:Wait> di akhir tur. Update animasi tidak dengan sendirinya membuka tur - hanya primitif tur jenis seri yang menentukan durasi tur. Oleh karena itu, tunggu 2,4 detik disisipkan. Dikombinasikan dengan FlyTo 4,1 detik, Waktu Tunggu memberi waktu update selesai sebelum tur berakhir.

animasiupdate_example.kml

<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2"
xmlns:gx="http://www.google.com/kml/ext/2.2"> <Document> <name>gx:AnimatedUpdate example</name> <open>1</open> <Style id="style"> <IconStyle id="iconstyle"> <scale>1.0</scale> </IconStyle> </Style> <Placemark id="mountainpin1"> <name>New Zealand's Southern Alps</name> <styleUrl>#style</styleUrl> <Point> <coordinates>170.144,-43.605,0</coordinates> </Point> </Placemark> <gx:Tour> <name>Play me!</name> <gx:Playlist> <!-- The order and duration of TourPrimitives is important; in this example, the AnimatedUpdate needs 6.5 seconds to complete. The FlyTo provides 4.1, and the Wait 2.4, giving the update time to complete before the Tour ends. AnimatedUpdates don't hold Tours open, but FlyTos and Waits do. For more information, refer to: http://developers.google.com/kml/documentation/touring.html#tourtimelines --> <gx:AnimatedUpdate> <gx:duration>6.5</gx:duration> <Update> <targetHref></targetHref> <Change> <IconStyle targetId="iconstyle"> <scale>10.0</scale> </IconStyle> </Change> </Update> </gx:AnimatedUpdate> <gx:FlyTo> <gx:duration>4.1</gx:duration> <Camera> <longitude>170.157</longitude> <latitude>-43.671</latitude> <altitude>9700</altitude> <heading>-6.333</heading> <tilt>33.5</tilt> <roll>0</roll> </Camera> </gx:FlyTo> <!-- wait for the AnimatedUpdate to complete --> <gx:Wait> <gx:duration>2.4</gx:duration> </gx:Wait> </gx:Playlist> </gx:Tour> </Document> </kml>

Menambahkan suara

File suara dapat disertakan dalam tur dan diputar kapan saja menggunakan elemen <gx:SoundCue>. Elemen <href> turunan menentukan file suara. Format yang didukung bergantung pada codec yang diinstal di sistem Anda, dan mencakup, tetapi tidak terbatas pada:

  • mp3
  • Aac

Durasi tidak ditentukan.

File suara diputar secara paralel dengan linimasa utama, yang berarti playlist akan berpindah ke primitif tur berikutnya saat file suara diputar. Baca Linimasa tur untuk informasi selengkapnya. Perhatikan bahwa, mirip dengan pembaruan animasi, file suara tidak dapat membuka tur. Hanya primitif tur jenis seri yang menentukan durasi tur. Jika tur berakhir sebelum file suara selesai, file suara akan berhenti diputar.

Memutar beberapa file suara

Banyak file suara dapat diputar sekaligus - Google Earth akan mencampur file tersebut bersama-sama. Hal ini berguna saat file musik latar belakang dimuat di awal tur, dan voice-over diberikan pada titik tertentu selama tur.

Mengizinkan file suara selesai sebelum primitif berikutnya diputar

Jika Anda ingin tur menunggu saat file suara diputar, sertakan elemen <gx:Wait> segera setelah primitif <gx:SoundCue>. <gx:Wait> menentukan dalam detik berapa lama tur harus menunggu sebelum melanjutkan ke primitif berikutnya.

File suara tidak dapat terus diputar setelah akhir tur. Waktu tunggu dapat digunakan untuk memperpanjang masa pakai tur saat file suara selesai diputar.

Contoh

Contoh tur di bawah ini berdurasi 15 detik, yang ditentukan oleh gabungan durasi <gx:FlyTo> dan <gx:Wait>. Klip suara pertama berdurasi 15 detik dan diputar sepanjang durasi tur. File kedua diberi jarak 5 detik, dicampur dengan file pertama, dan diputar selama 10 detik. <gx:Wait> diperlukan untuk memperpanjang durasi tur agar klip suara memiliki waktu yang cukup untuk selesai.

soundcue_example.kml

<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2"
 xmlns:gx="http://www.google.com/kml/ext/2.2">

<gx:Tour>
  <gx:Playlist>
 
    <gx:SoundCue>
      <href>
        http://dev.keyhole.com/codesite/AJsBlues.mp3
      </href>    <!-- 15 second audio clip -->
    </gx:SoundCue>
 
    <gx:FlyTo>
      <gx:duration>5</gx:duration>
      <gx:flyToMode>bounce</gx:flyToMode>
      <LookAt>
        <longitude>-79.387</longitude>
<latitude>43.643</latitude>
<altitude>0</altitude>
<range>1200</range>
<tilt>10</tilt>
<heading>-172.3</heading>
<altitudeMode>relativeToGround</altitudeMode>
</LookAt> </gx:FlyTo> <gx:SoundCue> <href> http://dev.keyhole.com/codesite/cntowerfacts.mp3 </href> <!-- 10 second audio clip --> </gx:SoundCue> <gx:Wait> <gx:duration>10</gx:duration> <!-- continues the tour for 10 seconds --> </gx:Wait> <!-- while audio clip plays --> </gx:Playlist> </gx:Tour> </kml>

Mengaktifkan balon deskripsi

Balon deskripsi penanda letak dapat dibuka atau ditutup selama tur, menggunakan <gx:balloonVisibility> dalam pembaruan animasi. Perubahan visibilitas balon akan dibuat di akhir durasi yang ditentukan - perubahan tersebut tidak akan dianimasikan selama waktu yang ditentukan. Menghapus nilai <gx:duration> akan menetapkan nilai default 0.0 (balon akan segera terbuka atau ditutup).

Contoh

balloonVisibility_turexample.kml

<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2"
 xmlns:gx="http://www.google.com/kml/ext/2.2">
  
  <Document>
    <name>balloonVisibility Example</name>
    <open>1</open>

    <gx:Tour>
      <name>Play me</name>
      <gx:Playlist>
 
        <gx:FlyTo>
          <gx:duration>5.0</gx:duration>
          <!-- bounce is the default flyToMode -->
          <LookAt>
            <longitude>-119.748584</longitude>
            <latitude>33.736266</latitude>
            <altitude>0</altitude>
            <heading>-9.295926</heading>
            <tilt>84.0957450</tilt>
            <range>4469.850414</range>
            <gx:altitudeMode>relativeToSeaFloor</gx:altitudeMode>
          </LookAt>
        </gx:FlyTo>

        <gx:AnimatedUpdate>
          <!-- the default duration is 0.0 -->
          <Update>
            <targetHref/>
            <Change>
              <Placemark targetId="underwater1">
                <gx:balloonVisibility>1</gx:balloonVisibility>
              </Placemark>
            </Change>
          </Update>
        </gx:AnimatedUpdate>

        <gx:Wait>
          <gx:duration>4.0</gx:duration>
        </gx:Wait>

        <gx:AnimatedUpdate>
          <Update>
            <targetHref/>
            <Change>
              <Placemark targetId="underwater1">
                <gx:balloonVisibility>0</gx:balloonVisibility>
              </Placemark>
            </Change>
          </Update>
        </gx:AnimatedUpdate>

        <gx:FlyTo>
          <gx:duration>3</gx:duration>
          <gx:flyToMode>smooth</gx:flyToMode>
          <LookAt>
            <longitude>-119.782630</longitude>
            <latitude>33.862855</latitude>
            <altitude>0</altitude>
            <heading>-19.314858</heading>
            <tilt>84.117317</tilt>
            <range>6792.665540</range>
            <gx:altitudeMode>relativeToSeaFloor</gx:altitudeMode>
          </LookAt>
        </gx:FlyTo>

        <gx:AnimatedUpdate>
          <Update>
            <targetHref/>
            <Change>
              <Placemark targetId="underwater2">
                <gx:balloonVisibility>1</gx:balloonVisibility>
              </Placemark>
            </Change>
          </Update>
        </gx:AnimatedUpdate>

        <gx:Wait>
          <gx:duration>4.0</gx:duration>
        </gx:Wait>

        <gx:AnimatedUpdate>
          <Update>
            <targetHref/>
            <Change>
              <Placemark targetId="underwater2">
                <gx:balloonVisibility>0</gx:balloonVisibility>
              </Placemark>
            </Change>
          </Update>
        </gx:AnimatedUpdate>

        <gx:FlyTo>
          <gx:duration>3</gx:duration>
          <gx:flyToMode>smooth</gx:flyToMode>
          <LookAt>
            <longitude>-119.849578</longitude>
            <latitude>33.968515</latitude>
            <altitude>0</altitude>
            <heading>-173.948935</heading>
            <tilt>23.063392</tilt>
            <range>3733.666023</range>
            <altitudeMode>relativeToGround</altitudeMode>
          </LookAt>
        </gx:FlyTo>

        <gx:AnimatedUpdate>
          <Update>
            <targetHref/>
            <Change>
              <Placemark targetId="onland">
                <gx:balloonVisibility>1</gx:balloonVisibility>
              </Placemark>
            </Change>
          </Update>
        </gx:AnimatedUpdate>

        <gx:Wait>
          <gx:duration>4.0</gx:duration>
        </gx:Wait>

      </gx:Playlist>
    </gx:Tour>

    <Placemark id="underwater1">
      <name>Underwater off the California Coast</name>
      <description>
        The tour begins near the Santa Cruz Canyon, 
        off the coast of California, USA.
      </description>
      <Point>
        <gx:altitudeMode>clampToSeaFloor</gx:altitudeMode>
        <coordinates>-119.749531,33.715059,0</coordinates>
      </Point>
    </Placemark>

    <Placemark id="underwater2">
      <name>Still swimming...</name>
      <description>We're about to leave the ocean, and visit the coast...</description>
      <Point>
        <gx:altitudeMode>clampToSeaFloor</gx:altitudeMode>
        <coordinates>-119.779550,33.829268,0</coordinates>
      </Point>
    </Placemark>

    <Placemark id="onland">
      <name>The end</name>
      <description>
        <![CDATA[The end of our simple tour. 
        Use <gx:balloonVisibility>1</gx:balloonVisibility> 
        to show description balloons.]]>
      </description>
      <Point>
        <coordinates>-119.849578,33.968515,0</coordinates>
      </Point>
    </Placemark>

  </Document>
</kml>

Menggabungkan gambar historis

Jika pengguna telah mengaktifkan citra historis di kliennya, tur Anda dapat menentukan tanggal untuk mengambil citra. Untuk menentukan tanggal gambar yang akan ditampilkan, sertakan elemen <gx:TimeStamp> di AbstractView. Perhatikan bahwa <gx:TimeStamp> juga memengaruhi KML berbasis waktu dan sinar matahari.

Tanggal yang terakhir ditentukan akan digunakan untuk semua citra yang dilanjutkan.

Contoh

historicalimagery_example.kml

<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2"
 xmlns:gx="http://www.google.com/kml/ext/2.2">

<gx:Tour>
  <name>Small town over time</name>
  <gx:Playlist>
    <gx:FlyTo>
      <gx:duration>5.0</gx:duration>
      <Camera>
        <gx:TimeStamp>
          <when>1990-08-04</when>
        </gx:TimeStamp>
        <longitude>-121.991</longitude>
        <latitude>47.857</latitude>
        <altitude>7000</altitude>
        <altitudeMode>absolute</altitudeMode>
      </Camera>
    </gx:FlyTo>

    <gx:FlyTo>
      <gx:duration>3.0</gx:duration>
      <gx:flyToMode>smooth</gx:flyToMode>
      <Camera>
        <gx:TimeStamp>
          <when>2009</when>
        </gx:TimeStamp>
        <longitude>-121.991</longitude>
        <latitude>47.857</latitude>
        <altitude>7000</altitude>
        <altitudeMode>absolute</altitudeMode>
      </Camera>
    </gx:FlyTo>

  </gx:Playlist>
</gx:Tour>
</kml>

Masalah umum

Saat ini, klien Google Earth tidak sepenuhnya mematuhi tur KML. Beberapa masalah umum tercantum di bawah; masalah ini dapat diperbaiki dalam rilis mendatang.

  • Elemen <gx:AnimatedUpdate> dan <gx:TourControl> akan merusak kurva yang dibuat oleh serangkaian FlyTo yang lancar. Titik FlyTo di kedua sisi elemen ini akan digabungkan dengan jalur linear.
  • File suara yang dimuat dengan <gx:SoundCue> akan terus diputar selama jeda yang dimulai oleh <gx:TourControl>. Saat tur dilanjutkan, Google Earth akan kembali ke titik dalam file suara tempat jeda dipicu.
  • Jika menggunakan mode ketinggian selain absolut, jalur di antara FlyTo dapat melompat naik atau turun saat kamera mendekati titik. Hal ini disebabkan oleh pembaruan data medan yang dimuat ke klien - saat kamera mendekati titik, informasi tentang titik tersebut menjadi semakin detail. Akibatnya, elevasi tanah di bawah titik mungkin diperbarui, sehingga memerlukan koreksi di jalur ke titik tersebut.

    Mekanisme perekaman di Google Earth menetapkan mode ketinggian absolut untuk semua FlyTo. Anda juga harus mengonversi ketinggian menjadi nilai absolut jika koreksi jalur ini mengganggu tur Anda.