KML ile tur

İçindekiler

Giriş

Google Earth 5.0'daki yeniliklerle, aşağıdakiler gibi coğrafi veriler üzerinden kontrollü uçuş yapabilirsiniz:

  • konumlar arasındaki belirli uçuş süreleri
  • aktarmasız uçuşlar rötarsız
  • tur sırasında önceden tanımlanmış zamanlarda ses dosyası çalma
  • turun sınırları içindeki KML özelliklerinde geçici güncellemeler

Google Earth istemci bakış açısından yapılan turlar hakkında daha fazla bilgi için lütfen Google Earth Kullanıcı Kılavuzu'na bakın.

Google'ın uzantı ad alanı

Turları tanımlayan KML öğeleri, gx ön eki kullanılarak OGC KML standardına yönelik bir dizi uzantı içinde yer alır. Bunları kullanmak için KML dosyanızdaki açılış <kml> öğesine doğru ad alanı URI'sini eklemeniz gerekir:

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

gx uzantı grubundaki turneyle ilgili öğeler şunları içerir:

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

Tur, Google Earth 5.0'da desteklenir ancak diğer coğrafi tarayıcılarda desteklenmeyebilir. Tarayıcınız belirli uzantıları desteklemiyorsa bu uzantılardaki veriler sessiz olarak yoksayılmalıdır ve KML dosyasının geri kalanı hatasız olarak yüklenmelidir.

Terminoloji

tur primitive: Turdaki bir işlemi tanımlayan öğe grubundan biri. Tur temel öğesine örnek olarak, <gx:FlyTo> öğesi ve alt öğeleri olan FlyTo verilebilir.

playlist: Bir turu tanımlayan temel primerler listesinin kapsayıcısıdır. Oynatma listesi bir zaman çizelgesi üzerinden görselleştirilebilir (daha fazla bilgi için Zaman çizelgeleri bölümüne bakın).

Bir turun yapısı

Turlar, bir KML dosyasına belirli öğeler sırayla eklenerek oluşturulur. KML dosyası, turla birlikte diğer herhangi bir yasal KML öğesini içerebilir.

Aşağıdaki örnekte tüm tur ve birden fazla yer işareti içeren bir klasör gösterilmektedir. Tur, Yeni Zelanda'nın Güney Adası'nda Taranaki Dağı üzerinden kuzeye doğru uçmadan önce başlar. Uçuş sırasında hem yumuşak hem de geri dönen flyToMode mesajlarını ve <gx:balloonVisibility>açıklama balonunu açma yöntemini gösterir. Tur öğeleri aşağıda daha ayrıntılı olarak açıklanmıştır.

complete_turn_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>

Tur zaman çizelgeleri

Turlar, bir dizi tur temel ilkesinden oluşur: FlyTos, Beklemeler, TourControls, Animasyon Güncellemeleri ve SoundCues. Bu temel öğelerden bazıları birbiri ardına oynatılır ve bir sonrakine geçmeden önce bir temel öğenin tamamlanması beklenir. Bazıları ise diğer temel öğelere paralel olarak yürütülür. Böylece aynı anda birden fazla işlem yapılabilir.

Dizilerde kullanılan eserler

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

Bu temel öğeler birbirini takip eder ve oynatma listesi, herhangi bir türde başka bir öğeye geçmeden önce tamamen tamamlanmalıdır. Bu, aynı anda yalnızca bir seri türünde temel (FlyTo, Wait veya TourControl) gerçekleşebileceği, ayrıca dizi türünde bir temel öğe oluşturulduğunda ek SoundCues veya Animasyon Güncellemelerinin başlatılamayacağı anlamına gelir.

Paralel olarak ortaya çıkan ilkeler

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

Bu temel öğeler, oynatma listesinde göründüğünde seçilir. Başladıktan sonra, şarkı listesi SoundCue veya Animasyon Güncelleme'nin tamamlanmasını beklemeden hemen sonraki temel öğeye geçer. Bunun anlamı:

  • Oynatma listesinde birbiri ardına işaret ederek aynı anda çok sayıda SoundCue ve/veya Animasyon Güncellemesi gerçekleşebilir
  • Dizi türü temel öğeleri çalarken SoundCues ve/veya Animasyon Güncellemeleri yapılabilir (ancak dizi türü temel öğeler oynatılırken başlatılamaz)

Aşağıdaki şemada bu davranış gösterilmiştir. Oynatma listesinde her temel öğeyi tanımlayan KML içeriği dahil olmak üzere daha ayrıntılı bir görünüm için resmi tıklayın.


 

Şemada, her FlyTo'nun tamamlanması için belirli bir süre (<gx:duration> öğesinde belirtilmiştir) gösterilmektedir. Bir sonraki temel ilk adım bu süre dolduktan sonra başlar.

Öte yandan SoundCue paralel olarak gerçekleşir. Ana zaman çizelgesinde bir sonraki temel öğe, ses dosyası çalmaya başladığı anda gerçekleşir. Ses dosyası, dosyanın sonuna veya turun sonuna kadar (hangisi önce gerçekleşirse) devam eder. Tur, ses dosyası sona ermeden sona ererse ses dosyası çalmaz. Her biri kendi zaman çizelgesine yüklendiğinden, istediğiniz zaman herhangi bir sayıda ses dosyası çalınabilir.

Animasyon güncellemeleri aynı şekilde davranır. Bir yer işaretinin simgesi 5 saniyelik bir süre içinde boyutu artacak şekilde ayarlanmışsa bunu ana zaman çizelgesinde bir sonraki temel öğeler gerçekleşir.

FlyTo ve flyToMode

Turlar konumdan konuma taşınır ve her biri bir <gx:FlyTo> öğesi kullanılarak belirtilir. Bu değer, Google Earth'teki görüntüleme konumunu, açısını ve rakımını tanımlayan bir AbstractView (<Camera> veya <LookAt>) içerir.

Ayrıca, tarayıcıya noktaya nasıl erişileceğini bildiren bir flyToMode belirtilebilir. <gx:Tour> kullanıma sunulmadan önce tarayıcıda "turlar", yer işaretinden yer işaretine atlayarak oynatıldı. Tarayıcı yer işaretine yaklaştığında uçuş hızı (tarayıcı tarafından belirlenir) bir sonraki yer işaretine geçmeden önce hız sıfır olarak bitiyordu. Bu davranış, <gx:flyToMode>bounce</gx:flyToMode> öğesi özelliği kullanılarak turlarda yine belirtilebilir.

Smooth flyToMode, yumuşak ve kontrollü uçuşla uzayda gezinmeyi sağlar. Noktalar arasındaki hız, tarayıcının geçerli noktadan sonraki tanımlı görünüme geçmesi için geçen süreyi tanımlayan bir <gx:duration> öğesinin eklenmesiyle kontrol edilir. Kırılmamış uçuş, yumuşak flyToMode özelliğine sahip bir dizi FlyTo'dan oluşur. Dünya tarayıcısı, hızı ve noktalar arasındaki kıvrımlı bir yolu birleştirir. Böylece her yer işaretine KML'de belirtilen zamanda tam olarak ulaşılabilir. hemen çıkma modunun aksine hız, uçuş aşağıdaki etkinliklerden biri nedeniyle bozulana kadar hiçbir zaman sıfıra ulaşmaz:

  • turun sonuna geldik.
  • hemen çıkma özellikli bir nokta veya
  • lütfen bekleyin.

Duraklatmalar, animasyonlu güncellemeler ve ses işaretleri yayını bozmaz.

İlk FlyTo

Bir oynatma listesinde yer alan ilk <gx:FlyTo>, izleyicinin Google Earth'teki geçerli görünümünden kaldırılır. Süre gözlemlenir, böylece ilk noktaya gelen hız, tur başladığında görüntüleyenin Dünya'da bulunduğu yere bağlı olarak büyük ölçüde değişir. Bu ilk FlyTo'nun, en iyi görüntüleme deneyimi için 5 saniye veya daha uzun bir süre içermesi ve hemen çıkma modunda olması önerilir.

<gx:flyToMode> ilk FlyTo için pürüzsüz olarak ayarlanmışsa ve ardından başka yumuşak FlyTos gelirse, izleyicinin ilk konumu yumuşak eğride bir nokta olarak kabul edilir ve yolun ilk ve sonraki noktaları arasındaki eğrisini etkiler. Bu, ilk yumuşak FlyTo dizilerinin, turun başlatılması sırasında Earth istemcisinde görüntüledikleri içeriğe bağlı olarak her izleyici için farklı olacağı anlamına gelir. Başlangıç noktasına yumuşak bir FlyTo isteği hâlâ devam ediyorsa ilk FlyTo'dan sonra tur koduna bir <gx:Wait> eklenebilir. Bu işlem, başlangıç konumunu turun geri kalanından ayırır.

Örnekler

Aşağıdaki örneklerde, hemen çıkma ile yumuşak geçişli ToTo modları arasındaki fark gösterilmektedir. Her tur aynı yer işaretlerini ziyaret eder, ancak farklı flyToMode'ları kullanır. Turları Google Earth'te oynatmak için, her kod snippet'inin üstündeki bağlantıları tıklayın ve ardından Google Earth'teki Yerler panelinizden tur adını çift tıklayın.

bounce_example.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... -->

Bekleniyor ve duraklatılıyor

Bekleme işlemi, turdaki uzayda hareketi durdurur ancak ses dosyalarının ve animasyonlu güncellemelerin devam etmesine olanak tanır. Bekleme süresi KML'de belirtilir.

Duraklatma, kullanıcı Duraklat düğmesini tıklamış gibi turu geçerli konumunda durdurur ve tüm temel öğeleri etkiler. Tur yalnızca kullanıcı Google Earth'teki tur denetiminde Oynat düğmesini seçtiğinde devam eder.

Bekleme sayısı

Bu öğe yalnızca kamerayı etkiler. Kameranın hareketsiz kalacağı süreyi belirtir. Şu anda oynatılan ses dosyaları ve/veya animasyonlu güncellemeler bu durumdan etkilenmez ve bekleme işlemine devam eder. Bir sonraki FlyTo başlatılmadan veya tur sona ermeden önce, ses dosyalarının veya güncellemelerin tamamlanması için zaman tanımak amacıyla beklemeler kullanılabilir.

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

Bekleme süresi, <gx:duration> öğesi kullanılarak saniye cinsinden belirtilir. Süre dolduğunda tur, oynatma listesinde belirtilen bir sonraki işlemle devam eder. Bekleme, yumuşak bir uçuş yolunu kırar. Böylece, flyToMode'dan bağımsız olarak kamera hareketi, beklemenin hemen önündeki herhangi bir noktada yavaşlayabilir.

Duraklatmalar

Kullanıcı tarafından kontrol edilen duraklatmalar <gx:TourControl> ve alt öğesi <gx:playMode> kullanılarak belirtilir. İkincisine izin verilen tek bir pause değeri vardır. Bu işlemin çağrılması, kullanıcının Google Earth'teki duraklat düğmesini tıklamasına benzer. Tur bu noktada duraklar ve Oynat düğmesi tıklanana kadar duraklatılmış olarak kalır. Duraklatma sırasında kullanıcı Google Earth ortamında istediği zaman hareket edebilir. Oynat'ı tıkladığınızda, turun duraklatıldığı noktaya geri döndürülürler.

Duraklatma, yumuşak uçuş yollarını bozmaz. Böylece, bir duraklatmanın her iki noktasındaki noktalar arasındaki hız, tarayıcı tarafından duraklatma yokmuş gibi hesaplanır.

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

Örnekler

Aşağıda beklemeyle ilgili bir örnek verilmiştir. On saniyelik bir tanıtım konuşmasını içeren ses dosyası seçilir. Ses göstergesinden hemen sonra on saniyelik bir bekleme eklenir. Böylece konuşma tamamlanana kadar aşağıdaki FlyTo gerçekleşemez.

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>

Aşağıdaki örnekte bir duraklatma kullanımı gösterilmektedir. İzleyici Dünya'daki belirli bir konuma uçar, ardından tur duraklatılır. Kullanıcı, Dünya ortamında herhangi bir süre hareket edebilir. Kullanıcı, turu devam ettirmek için hazır olduğunda, tur denetimlerinden Oynat'ı seçmelidir. Google Earth turun son konumuna atlar ve oynamaya devam eder.

pause_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: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>

Güncellemeler

Yerküre ortamının KML özellikleri yer işaretlerinin boyutu, stili ve konumu, zemin bindirmeleri, geometri ekleme ve benzeri pek çok tur sırasında değiştirilebilir, değiştirilebilir veya oluşturulabilir. KML'yi güncelleme hakkında daha fazla bilgi için Geliştirici Kılavuzu'ndaki Güncellemeler bölümünü okuyun.

KML güncellemeleri bir tur sırasında yapılabilir ve <gx:AnimatedUpdate> öğesi kullanılarak etkinleştirilir. Bir turdaki güncelleme davranışı, NetworkLink'teki güncelleme davranışından farklıdır. Bu yaklaşım:

  • Turdan çıkıldığında KML'deki güncellemeler tersine çevrilir ve
  • Mevcut durum kaydedildiğinde KML güncellemeleri buna dahil değildir.

Ayrıca, interpolasyon için verilen değişiklikler (yani boyuttaki değişiklikler gibi ara durumlar içerir) belirtilen süre içinde animasyona dönüştürülür. Ara adımlar (ör. açıklama balonlarının açılması veya kapanması) olmayan değişiklikler yalnızca belirtilen sürenin sonunda güncellenir. Süre belirtilmezse güncelleme hemen gerçekleşir (<gx:duration> için varsayılan değer 0.0'dır).

Bir <gx:AnimatedUpdate> öğesindeki Güncelleme, yukarıda listelenen farklılıklar dışında, <NetworkLinkControl> içindeki Güncelleme ile aynı şekilde davranır. İşaretçi boyutunu, konumunu ve görünümünü değiştirmek, zemin bindirmeleri veya modelleri eklemek ve <gx:balloonVisibility> öğesini kullanarak bilgi balonlarını açıp kapatmak için kullanılabilir.

<gx:AnimatedUpdate> ve tur zaman çizelgesi

Animasyonlu güncellemeler zaman çizelgesine paralel olarak çalışır. Yani tur, oynatma listesinde doğrudan bir sonraki temel tura geçer ve animasyonlu güncelleme gerçekleşir. <gx:duration>, güncellemenin gerçekleşmesi için gereken süreyi kontrol eder ancak bir sonraki tur temel sürümünü geciktirmez.

Animasyonlu güncellemenin bir sonraki işlem gerçekleştirilmeden önce tamamlanmasına izin vermek için animasyonlu güncelleme ile sonraki tur temel öğesi arasında, güncelleme süresine eşit bir süre (<gx:Wait>) ekleyin.

Ayrıca, animasyonlu güncellemenin süresi son <gx:FlyTo> veya <gx:Wait> öğesinin süresinden uzunsa kısaltılır. Uygun <gx:duration> değerlerini değiştirebilir veya oynatma listesinin sonuna ek bir <gx:Wait> öğesi ekleyerek animasyonlu güncellemenin tamamlanmasını sağlayabilirsiniz.

Zaman çizelgesiyle ilgili daha fazla bilgi için yukarıdaki Zaman çizelgesi bölümüne bakın.

Örnek

Aşağıdaki kod snippet'i, belirli bir yer işareti simgesinin boyutu için 1,0 ölçeğinden 10,0 ölçeğine kadar bir değişikliği göstermektedir. Bu değişiklik 6,5 saniyeden uzun sürer.Bu süre içinde simge, ilk boyutundan son boyutuna doğru kademeli olarak genişler.

Turun sonuna <gx:Wait> basit öğesi eklendiğini unutmayın. Animasyonlu güncellemeler kendiliğinden tur açmaz. Yalnızca turun uzunluğunu tanımlayan seri türü tur temel öğeleri. Bu nedenle 2, 4 saniye bekleme süresine eklenmiştir. Bekleme, 4,1 saniyelik FlyTo ile birlikte tur sona ermeden önce güncelleme işleminin tamamlanması için zaman tanır.

animatedupdate_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>

Ses ekleme

Ses dosyaları, turlara dahil edilebilir ve herhangi bir anda <gx:SoundCue> öğesi kullanılarak çalınabilir. Ses dosyasını belirten bir <href> öğesi. Desteklenen biçimler sisteminizde yüklü codec'lere bağlıdır ve aşağıdakileri içerir ancak bunlarla sınırlı değildir:

  • mp3
  • Aac

Süre belirtilmedi.

Ses dosyaları ana zaman çizelgesine paralel olarak oynatılır. Yani, ses dosyası çalarken şarkı listesi sonraki tur temel öğelerine geçer. Daha fazla bilgi için Tur zaman çizelgeleri başlıklı makaleyi okuyun. Animasyonlu güncellemelerde olduğu gibi ses dosyalarının de açık tur olmadığını unutmayın. Yalnızca dizi türü tur temel öğeleri bir turun uzunluğunu tanımlar. Tur, ses dosyası tamamlanmadan sona ererse ses dosyası çalmaz.

Birden çok ses dosyası çalma

Aynı anda çok sayıda ses dosyası çalabilir. Google Earth bu dosyaları birlikte kullanır. Bu özellik, turun başında bir arka plan müzik dosyasının yüklendiği ve turun belirli noktalarında seslendirme yapıldığı durumlarda yararlıdır.

Ses dosyasının bir sonraki temel ses çalınmadan önce tamamlanmasına izin verme

Turun, ses dosyası çalarken beklemesini istiyorsanız <gx:SoundCue> basit öğesine hemen bir <gx:Wait> öğesi ekleyin. <gx:Wait> bir sonraki temel öğeye gitmeden önce turun bekleyeceği süreyi saniye cinsinden belirtir.

Bir ses dosyası, turun sonundan sonra çalmaya devam edemez. Bekleme süresi, ses dosyası çalınırken turun ömrünü uzatmak için kullanılabilir.

Örnek

Aşağıdaki örnek tur 15 saniye uzunluğunda olup toplam <gx:FlyTo> ve <gx:Wait> süreleriyle tanımlanmıştır. İlk ses klibi 15 saniye sürer ve tur boyunca oynatılır. İkinci dosya 5 saniye içinde seçilir, ilk dosya ile karıştırılır ve 10 saniye boyunca oynatılır. Ses kliplerinin tamamlanması için yeterli zaman olması açısından, turun süresini uzatmak için <gx:Wait> gereklidir.

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>

Açıklama balonlarını açma/kapatma

Animasyonlu bir güncellemede <gx:balloonVisibility> kullanılarak, bir yer işaretinin açıklama balonu bir tur sırasında açılabilir veya kapatılabilir. Balon görünürlüğü değişiklikleri belirtilen herhangi bir sürenin sonunda yapılacak, belirtilen süre boyunca animasyona dahil edilmeyecek. Bir <gx:duration> değerinin atlanması, varsayılan 0.0 değerini atar (balon açılır veya kapanır).

Örnek

balonGörünürlüğü_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>

Geçmiş görüntüleri dahil etme

Kullanıcı, istemcisindeki geçmiş görüntüleri etkinleştirdiyse turunuz, görüntülerin alınacağı tarihi belirtebilir. Resmin görüntüleneceği tarihi belirtmek için AbstractView öğesine bir <gx:TimeStamp> öğesi ekleyin. <gx:TimeStamp> ürününün zamana dayalı KML ve gün ışığını da etkilediğini unutmayın.

Devam eden tüm görüntüler için belirtilen son tarih kullanılır.

Örnek

tarihsel_resim_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>

Bilinen sorunlar

Google Earth istemcisi şu anda KML'yi tamamen tanımamaktadır. Bilinen sorunlardan bazıları aşağıda listelenmiştir. Bu sorunlar gelecek sürümlerde düzeltilebilir.

  • <gx:AnimatedUpdate> ve <gx:TourControl> öğeleri, bir dizi FlyTos tarafından oluşturulan eğriyi kırar. Bu öğelerin her iki tarafındaki FlyTo noktaları, doğrusal bir yolla birleştirilir.
  • <gx:SoundCue> ile yüklenen ses dosyaları, <gx:TourControl> tarafından başlatılan bir duraklatma sırasında oynatılmaya devam ediyor. Tur devam ettirildiğinde Google Earth, ses dosyasında duraklatmanın tetiklendiği noktaya geri döner.
  • Mutlak dışında rakım modları kullanıldığında, kamera bir noktaya yaklaşırken FlyTos arasındaki yol yukarı veya aşağı zıplayabilir. Bunun nedeni, güncellenen arazi verilerinin istemciye yüklenmesidir. Kamera bir noktaya yaklaştıkça bu noktayla ilgili bilgiler daha ayrıntılı hale gelir. Sonuç olarak, noktanın altındaki zeminin yüksekliği güncellenerek o noktaya giden yolda düzeltme yapılabilir.

    Google Earth'teki kayıt mekanizması, bu nedenle tüm FlyTo'lar için mutlak rakım modlarını belirtir. Bu yol düzeltmeleri turunuza müdahale ediyorsa, rakımları mutlak değerlere de dönüştürmeniz gerekir.