Dokumentacja KML

Ta sekcja zawiera odniesienia do wszystkich elementów KML zdefiniowanych w wersji 2.2 w pliku alfabetycznym, a także elementy w przestrzeni nazw rozszerzeń Google. Drzewo klas elementów KML jest widoczne poniżej. Na tym diagramie elementy po prawej stronie danej gałęzi to rozszerzenia elementów po lewej stronie. Na przykład jest to specjalny rodzaj funkcji. Zawiera wszystkie elementy należące do obiektu Element oraz dodaje elementy typowe dla elementu oznaczenia miejsca.

KML to standard otwarty o nazwie OpenGIS® KML Encoding Standard (OGC KML). Jest ono obsługiwane przez Open Geospatial Consortium, Inc. (OGC). Pełną specyfikację pliku OGC KML można znaleźć na stronie http://www.opengeospatial.org/standards/json/.

Pełny schemat XML dla pliku KML znajduje się na stronie http://schemas.opengis.net/json/.

Uwaga: kliknij nazwę elementu na tym diagramie, aby przejść do jego elementu w sekcji referencyjnej.

schemat drzewa zajęć Element obiektu (element nadrzędny) gx:Tour element; element podrzędny funkcji Element NetworkLink; element podrzędny funkcji Element oznaczenia miejsca; element podrzędny funkcji Element nakładki; element podrzędny obiektu Element kontenera; element podrzędny funkcji Element funkcji Element geometryczny; element podrzędny obiektu Element PhotoOverlay, element podrzędny elementu Nakładka ScreenOverlay; element podrzędny nakładki Element GroundOverlay, element podrzędny nakładki Element folderu; element podrzędny kontenera Element dokumentu; element podrzędny kontenera Element punktowy; element podrzędny elementu Geometry Element LineString; element podrzędny elementu Geometry Element LinearRing; element podrzędny elementu Geometry Element link: element podrzędny obiektu Element ikony; element podrzędny linku Element orientacji; element podrzędny obiektu Element Location; element podrzędny obiektu Element skalowania; element podrzędny obiektu Element wielokąta; element podrzędny elementu geometrycznego Element MultiGeometry; element podrzędny elementu Geometry Element modelu; element podrzędny multigeometrii gx:Track element; element podrzędny Geometry Element stylu; element podrzędny elementu SelectSelector gx:MultiTrack – element podrzędny elementu Geometry Element wyboru stylu oraz element podrzędny obiektu Element Mapa stylu; element podrzędny selektora selektora stylu Element TimePrimitive; element podrzędny obiektu Element TimeSpan; element podrzędny elementu TimePrimitive gx:Sygnatura czasowa Element AbstractView; obiekt podrzędny obiektu Element aparatu; element podrzędny AbstractView Element LookAt; element podrzędny AbstractView Element regionu; element podrzędny obiektu Element Lod; element podrzędny obiektu Element LatLonBox; element podrzędny obiektu Element LatLonAltBox; element podrzędny obiektu gx:LatLonQuad – element chid obiektu Element SubStyle; element chid obiektu Element BalloonStyle; element podrzędny elementu SubStyle Element ColorStyle; element podrzędny elementu SubStyle Element ListStyle; element podrzędny elementu podrzędnego Element gx:TimeSpan; element podrzędny elementu TimeSpan Element TimeStamp; element podrzędny elementu TimePrimitive Element LineStyle; element podrzędny elementu ColorStyle Element PolyStyle; element podrzędny elementu ColorStyle Element IconStyle; element podrzędny elementu ColorStyle Element LabelStyle; element podrzędny elementu ColorStyle gx:TourPrimitive; element podrzędny obiektu gx:AnimatedUpdate gx:FlyTo; element podrzędny elementu TourPrimitive gx:SoundCue; element podrzędny elementu TourPrimitive gx:TourControl element; element podrzędny gx:TourPrimitive gx:Wait element; element podrzędny gx:TourPrimitive Element gx:PlayList; element podrzędny obiektu

Pamiętaj, że w plikach KML nie są używane elementy abstrakcyjne (widoczne w polach na diagramie). Przydaje się on, gdy pojedynczy element służy jako podstawa automatyzacji do wielu podobnych (ale różniących się) od siebie elementów. Znajomość tej hierarchii zorientowanej na obiekty stanowi dobry sposób na naukę języka KML, ponieważ można łatwo zobaczyć grupy powiązanych elementów.

Do wszystkich elementów pochodzących z obiektu Object można przypisać identyfikator. Ten identyfikator jest używany przez mechanizm aktualizacji KML (patrz <Update>) w przypadku plików ładowanych przez NetworkLink. Jest także używany przez style współdzielone (patrz <Styl>). id to standardowy identyfikator XML.

KML to format gramatyki i formatu XML, w nazwach tagów rozróżniana jest wielkość liter. Nazwy te muszą być dokładnie takie, jak przedstawione tutaj. Jeśli znasz język XML, może Cię również zainteresować schemat KML 2.2. Podczas edycji plików tekstowych KML możesz wczytać ten schemat do dowolnego edytora XML i zweryfikować jego kod KML.

Wskazówka: wyświetlanie plików KML dotyczących funkcji Google Earth

Jest to przydatna funkcja programu Google Earth, która ułatwia wyświetlanie plików KML dotyczących dowolnych obiektów. W programie Google Earth możesz kliknąć prawym przyciskiem myszy obiekt w panelu Miejsca i skopiować go. Aby wyświetlić odpowiedni plik KML ze skopiowanym obiektem, otwórz ulubiony edytor tekstu i wklej w nim zaznaczony tekst.

Zgodność

Wersje KML mają podwójny system numeracji: majorVersion.minorVersion. Wszystkie wersje z tą samą wartością majorVersion są zgodne. Dlatego jeśli zmienisz przestrzeń nazw na „2.2” (czyli xmlns="http://www.opengis.net/kml/2.2"), wszystkie pliki KML 2.1 zostaną zweryfikowane w schemacie KML 2.2.

Informacje o tym pliku referencyjnym

Każda pozycja odniesienia zawiera sekcję Składnia, która zawiera listę elementów zawartych w elemencie głównym. Ta sekcja Składnia to nieformalny wykaz zawierający proste skróty. Ta sekcja zawiera też:

  • wartości domyślne każdego elementu (lub wielokropek, jeśli jest to element złożony, lub jeśli nie ma wartości domyślnej);
  • typ wartości (patrz Pola KML);

Sekcja składni można skopiować i wykorzystać jako szablon dla dowolnego elementu abstrakcyjnego w pliku KML.

Przestrzeń nazw rozszerzenia KML i prefiks gx

Standard OGC KML zawiera mechanizm rozszerzeń – dodatkowe elementy, które zawierają informacje wykraczające poza informacje standardu (więcej informacji o przestrzeni nazw XML znajdziesz na w3.org). Wraz z wprowadzeniem Google Earth 5.0 udostępniliśmy rozszerzenia KML do obsługi wielu nowych funkcji. Te rozszerzenia używają prefiksu gx i tego identyfikatora URI przestrzeni nazw:

 xmlns:gx="http://www.google.com/kml/ext/2.2"

Identyfikator URI przestrzeni nazw należy dodać do elementu <kml> w dowolnym pliku KML przy użyciu wstępnie zdefiniowanych elementów gx-:

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

Rozszerzenia do formatu KML mogą nie być obsługiwane w niektórych przeglądarkach geograficznych. Jeśli Twoja przeglądarka nie obsługuje określonych rozszerzeń, dane w tych rozszerzeniach powinny być ignorowane, a reszta pliku KML powinna zostać wczytana bez błędów.

Elementy, które obecnie używają prefiksu gx:

Pełny schemat XML elementów w tej przestrzeni nazw rozszerzeń znajdziesz na http://developers.google.com/json/schema/json22gx.xsd.

Pola KML

KML używa popularnych typów XML, takich jak wartość logiczna, ciąg znaków, liczba zmiennoprzecinkowa i int. Oprócz tego definiuje szereg typów elementów pól. Poniższa tabela zawiera niektóre najczęściej używane typy zdefiniowane w KML i linki do przykładowych elementów, które ich używają:

Typ pola Wartość Przykładowe zastosowanie
altitudeModeEnum bez zmian, bezwzględne, bezwzględne Zobacz <LookAt> i <Region>
kąt90 wartość ≥−90 i ≤90 Zobacz <szerokość> w <modelu>
kąt 90 wartość ≥0 i ≤90 Zobacz <tilt> w <LookAt>
kąt 180 wartość ≥−180 i ≤180 Zobacz <długość> w <modelu>
kąt360 wartość ≥−360 i ≤360 Zobacz <nagłówek> w <Orientacja>
color [kolor] wartość szesnastkowa: aabbggrr Zobacz dowolny element, który rozszerza się do <ColorStyle>
kolorModeEnum normalne, losowe Zobacz dowolny element, który rozszerza się do <ColorStyle>
data i godzina dateTime, date, gYearMonth, gYear Zobacz <TimeSpan> i <TimeStamp>
displayModeEnum domyślnie, ukryj Zobacz <BalloonStyle>
gridOrigin lewy dolny, lewy górny Zobacz <PhotoOverlay>
RefreshModeEnum onChange, onInterval, onExpire Zobacz <link>
shashaEnum, prostokąt, cylinder, sfera Zobacz <PhotoOverlay>
styleStateEnum normalne, podświetlenie Patrz <StyleMap>
unitsEnum ułamek, piksele, insetPixels Zobacz <hotSpot> w elemencie <IconStyle>, <ScreenOverlay>
vec2, X Zobacz <hotSpot> w <IconStyle>,
<ScreenOverlay>
viewRefreshEnum nigdy, onRequest, onStop, onRegion Zobacz <link>

 

<AbstractView>

Składnia

<!-- abstract element; do not create -->
<!-- AbstractView -->                       <!-- Camera, LookAt -->
  <!-- extends Object -->
  <TimePrimitive>...</TimePrimitive>        <!-- gx:TimeSpan or gx:TimeStamp -->
  <gx:ViewerOptions>
    <gx:option name="" enabled=boolean />   <!-- name="streetview",
                                                      "historicalimagery",
                                                   or "sunlight" -->
  </gx:ViewerOptions>
<-- /AbstractView -->

Opis

To jest element abstrakcyjny i nie można go używać bezpośrednio w pliku KML. Ten element jest rozszerzany przez elementy <Kamera> i <LookAt>.

Rozszerza

Elementy charakterystyczne dla AbstractView

<gx:ViewerOptions>
Ten element umożliwia korzystanie z specjalnych trybów wyświetlania w programie Google Earth 6.0 i nowszych. Zawiera co najmniej jeden element podrzędny <gx:option>. Element <gx:option> ma atrybuty name i enabled. name określa jeden z tych elementów: zdjęcia Street View („Street View”), zdjęcia historyczne („historyczne”) i efekty słoneczne w określonym czasie („słońce”). Atrybut enabled służy do włączania i wyłączania danego trybu wyświetlania.
<gx:horizFov>
Definiuje poziome pole widoku AbstractView podczas wycieczki. Ten element nie ma wpływu na widoki AbstractView poza wycieczkę. <gx:horizFov> jest automatycznie wstawiany przez klienta Google Earth (wersja 6.1 i nowsze) podczas nagrywania wycieczki. Zwykłe widoki AbstractView otrzymują wartość 60, a widoki w Street View mają wartość 85, tak aby odpowiadała standardowemu widokowi Street View w Google Earth. Po ustawieniu wartości będzie ona stosowana w kolejnych widokach, dopóki nie zostanie określona nowa wartość.

Rozszerzono przez

<gx:altitudeMode>

Ten element jest rozszerzeniem standardu OGC KML 2.2 i jest obsługiwany w Google Earth w wersji 5.0 i nowszych. Więcej informacji

Składnia

<gx:altitudeMode>clampToGround</gx:altitudeMode>
  <!-- gx:altitudeModeEnum: relativeToSeaFloor, clampToSeaFloor, relativeToGround, clampToGround, absolute -->

Opis

Można go użyć zamiast standardowego elementu <altitudeMode> OGC. Oprócz standardowych wartości altitudeMode mogą one zawierać te wartości:

  • relativeToSeaFloor – wartość wysokości podaje się w metrach nad poziomem morza. Jeśli funkcja KML pokazuje nad ziemią, a nie morzem, wysokość jest interpretowana jako poziom powyżej gruntu.
  • clampToSeaFloor – specyfikacja wysokości jest ignorowana, a funkcja KML jest umieszczona na dnie morza. Jeśli funkcja KML jest na poziomie lądu zamiast morza, clampToSeaFloor zostanie przymocowany do powierzchni.

Tak jak w przypadku zasady <altitudeMode>, <gx:altitudeMode> wpływa na:

  • współrzędna wysokości w elemencie <coordinates>
  • <minAltitude> i <maxAltitude> w: <LatLonAltBox>
  • <altitude> w: <Location>, <GroundOverlay> i AbstractView (<LookAt> i <Camera>).

Więcej informacji o trybach wysokości można znaleźć w rozdziale Tryby wysokości w przewodniku dla programistów KML.

Przykład

altitudemode_reference.json

<?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">   <!-- required when using gx-prefixed elements -->

<Placemark>
  <name>gx:altitudeMode Example</name>
  <LookAt>
    <longitude>146.806</longitude>
    <latitude>12.219</latitude>
    <heading>-60</heading>
    <tilt>70</tilt>
    <range>6300</range>
    <gx:altitudeMode>relativeToSeaFloor</gx:altitudeMode>
  </LookAt>
  <LineString>
    <extrude>1</extrude>
    <gx:altitudeMode>relativeToSeaFloor</gx:altitudeMode>
    <coordinates>
      146.825,12.233,400
      146.820,12.222,400
      146.812,12.212,400
      146.796,12.209,400
      146.788,12.205,400
    </coordinates>
  </LineString>
</Placemark>

</kml>

 

<gx:AnimatedUpdate>

Ten element jest rozszerzeniem standardu OGC KML 2.2 i jest obsługiwany w Google Earth w wersji 5.0 i nowszych. Więcej informacji

Składnia

<gx:AnimatedUpdate id="ID">
  <gx:duration>0.0</gx:duration>     <!-- double, specifies time in seconds -->
  <Update>
    <targetHref>...</targetHref>     <!-- required; can contain a URL or be left blank -->
                                      <!-- (to target elements within the same file) -->
    <Change>...</Change>
    <Create>...</Create>
    <Delete>...</Delete>
  </Update>
  <gx:delayedStart>0</gx:delayedStart>  <!-- double, specifies time in seconds -->
</gx:AnimatedUpdate>

Opis

<gx:AnimatedUpdate> kontroluje zmiany w trakcie prezentacji funkcji KML przy użyciu <Update>. Zmiany w funkcjach KML nie modyfikują interfejsu DOM – wszystkie zmiany zostaną cofnięte po zakończeniu wycieczki i nie zostaną w nich zapisane.

<gx:AnimatedUpdate> musi też zawierać wartość <gx:duration>, która określa czas aktualizacji (w sekundach). Pola całkowite, pływające i kolorowe są płynnie animowane od pierwotnej do nowej wartości przez cały czas trwania. Wartości logiczne, ciągi i inne, które nie nadają się do interpolacji, są aktualizowane na końcu czasu trwania.

Informacje o <gx:AnimatedUpdate> oraz o okładce wycieczki znajdziesz w artykule Oś czasu wycieczki w rozdziale Wycieczki w przewodniku dla programistów KML.

<gx:duration>
Określa czas (w sekundach), przez jaki aktualizacja jest przeprowadzana.
<gx:delayedStart>
Określa liczbę sekund oczekiwania (po wbudowanej pozycji początkowej) przed rozpoczęciem aktualizacji.

Przykład

Przykład poniżej pokazuje zmianę rozmiaru ikon. Ta zmiana będzie animowana przez 5 sekund.

animatedupdate_example.json

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

  <Style id="pushpin">
    <IconStyle id="mystyle">
<Icon>
<href>http://maps.google.com/mapfiles/kml/pushpin/ylw-pushpin.png</href> <scale>1.0</scale>
</Icon>
</IconStyle>
</Style> <Placemark id="mountainpin1"> <name>Pin on a mountaintop</name> <styleUrl>#pushpin</styleUrl>
<Point>
<coordinates>170.1435558771009,-43.60505741890396,0</coordinates>
</Point> </Placemark> <gx:Tour> <name>Play me!</name> <gx:Playlist> <gx:FlyTo>
<gx:flyToMode>bounce</gx:flyToMode>
<gx:duration>3</gx:duration>
<Camera>
<longitude>170.157</longitude>
<latitude>-43.671</latitude>
<altitude>9700</altitude>
<heading>-6.333</heading>
<tilt>33.5</tilt>
</Camera>
</gx:FlyTo> <gx:AnimatedUpdate> <gx:duration>5</gx:duration> <Update> <targetHref></targetHref> <Change> <IconStyle targetId="mystyle"> <scale>10.0</scale> </IconStyle> </Change> </Update> </gx:AnimatedUpdate> <gx:Wait> <gx:duration>5</gx:duration> </gx:Wait> </gx:Playlist> </gx:Tour> </Document> </kml>

Rozszerza

Zawiera

<Styl balonu>

Składnia

<BalloonStyle id="ID">
  <!-- specific to BalloonStyle -->
  <bgColor>ffffffff</bgColor>            <!-- kml:color -->
  <textColor>ff000000</textColor>        <!-- kml:color -->
  <text>...</text>                       <!-- string -->
  <displayMode>default</displayMode>     <!-- kml:displayModeEnum -->
</BalloonStyle>

Opis

Określa sposób tworzenia dymka opisu dla oznaczeń miejsc. Jeśli jest określony kolor tła balonu, kolor <bgColor> jest używany. Na stronie <Funkcja> znajdziesz diagram pokazujący domyślny dymek z opisem w Google Earth.

Elementy typowe dla stylu balonowego

<bgColor>
Kolor tła dymka (opcjonalnie). Wartości koloru i przezroczystości (alfa) są wyrażone w notacji szesnastkowej. Zakres wartości dowolnego koloru to od 0 do 255 (od 00 do ff). Kolejność wyrażenia to aabbggrr, gdzie aa=alfa (00 do ff); bb=blue (00 do ff); gg=green(00 do ff); rr=red (00-ff). W przypadku wersji alfa 00 jest całkowicie przejrzyste, a ff jest całkowicie nieprzezroczyste. Jeśli na przykład chcesz zastosować w nakładce niebieski kolor z 50-procentową nieprzezroczystością, możesz określić taki kolor: <bgColor>7fff0000</bgColor>, gdzie alfa=0x7f, blue=0xff, green=0x00 i red=0x00. Wartość domyślna to nieprzezroczysta biel ({8/}ff).

Uwaga: nie można już używać elementu <color> w tagu <BalloonStyle>. Zamiast niego użyj parametru <bgColor>.

<textColor>
Kolor pierwszego planu tekstu. Domyślnym kolorem jest tu czarny (FF000000).
<text>
Tekst wyświetlany w dymku. Jeśli nie zostanie określony tekst, Google Earth wyświetli domyślny dymek (zawierający pogrubienie <nazwa>, funkcję <opis>, linki do wskazówek dojazdu, białe tło i ogon dołączony do współrzędnych punktu).
Możesz dodać encje do tagu <text>, używając takiego formatu, aby odwoływać się do elementów podrzędnych funkcji: $[name], $[description], $[address], $[id], $[Fragment]. Google Earth szuka aktualnej funkcji danego elementu ciągu i zastępuje te informacje w dymku. Aby w dymku umieścić Do tutaj – z tego miejsca, użyj tagu $[geRoute]. Aby zapobiec wyświetlaniu w dymku linków zawierających wskazówki dojazdu, uwzględnij element <text> w przypadku niektórych treści lub dodaj wyrażenie $[description], aby zastępować podstawowy element <description>.
Na przykład w tym fragmencie kodu KML pola $[name] i $[description] zostaną zastąpione polami <name> i <description> znalezionymi w elemencie Feature:
<text>This is $[name], whose description is:<br/>$[description]</text>
<displayMode>
Jeśli <displayMode> jest domyślne, Google Earth utworzy dymek na podstawie informacji podanych w <text>. Jeśli <displayMode> ma wartość hide, Google Earth nie wyświetli dymka. W Google Earth kliknięcie ikony widoku listy oznaczenia miejsca, którego dymek <displayMode> ma wartość hide powoduje uruchomienie Google Earth do oznaczenia miejsca.

Przykład

<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2">
<Document> <name>BalloonStyle.kml</name>
<open>1</open>
<Style id="exampleBalloonStyle">
<BalloonStyle>
<!-- a background color for the balloon -->
<bgColor>ffffffbb</bgColor>
<!-- styling of the balloon text -->
<text><![CDATA[
<b><font color="#CC0000" size="+3">$[name]</font></b>
<br/><br/>
<font face="Courier">$[description]</font>
<br/><br/>
Extra text that will appear in the description balloon
<br/><br/>
<!-- insert the to/from hyperlinks -->
$[geDirections]
]]></text>
</BalloonStyle>
</Style>
<Placemark>
<name>BalloonStyle</name>
<description>An example of BalloonStyle</description>
<styleUrl>#exampleBalloonStyle</styleUrl>
<Point>
<coordinates>-122.370533,37.823842,0</coordinates>
</Point>
</Placemark>
</Document>
</kml>

Rozszerza

Zawiera

Powrót do góry

<gx:balloonWidoczność>

Ten element jest rozszerzeniem standardu OGC KML 2.2 i jest obsługiwany w Google Earth w wersji 5.0 i nowszych. Więcej informacji

Składnia

<gx:balloonVisibility>0</gx:balloonVisibility>    <!-- 0 (not visible) or 1 (visible) -->

Opis

Przełącza widoczność dymka opisu. Dymek do zaktualizowania musi być identyfikowany przez identyfikator XML obiektu (np. <Placemark targetId="xxx">).

Przykłady

Pierwszy przykład pokazuje <gx:balloonVisibility> z oznaczeniem miejsca. Po wczytaniu oznaczenia miejsca zostanie otwarty dymek opisu.
balloonvisability_example.json

<?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">

  <Placemark>
    <name>Eiffel Tower</name>
    <description>
        Located in Paris, France. 

This description balloon opens
when the Placemark is loaded. </description> <gx:balloonVisibility>1</gx:balloonVisibility> <Point> <coordinates>2.294785,48.858093,0</coordinates> </Point> </Placemark> </kml>

Drugi przykład pokazuje użycie funkcji <gx:balloonVisibility> podczas prezentacji. W trakcie wycieczki niektóre balony są otwarte i zamykane, dostarczając informacje użytkownikowi.
balloonvisability_tourexample.json

<?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>8.0</gx:duration>
          <gx:flyToMode>bounce</gx: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>
          <gx:duration>0.0</gx:duration>
          <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>
          <gx:duration>0.0</gx:duration>
          <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>-9.314858</heading>
            <tilt>84.117317</tilt>
            <range>6792.665540</range>
            <gx:altitudeMode>relativeToSeaFloor</gx:altitudeMode>
          </LookAt>
        </gx:FlyTo>

        <gx:AnimatedUpdate>
          <gx:duration>0.0</gx:duration>
          <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>
          <gx:duration>0.0</gx:duration>
          <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>
          <gx:duration>0.0</gx:duration>
          <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>

Rozszerza

<Kamera>

Składnia

<Camera id="ID">
  <!-- inherited from AbstractView element -->
  <TimePrimitive>...</TimePrimitive>  <!-- gx:TimeSpan or gx:TimeStamp -->
  <gx:ViewerOptions>
    <option> name=" " type="boolean">     <!-- name="streetview", "historicalimagery", "sunlight", or "groundnavigation" -->
    </option>
  </gx:ViewerOptions>

  <!-- specific to Camera -->
  <longitude>0</longitude>            <!-- kml:angle180 -->
  <latitude>0</latitude>              <!-- kml:angle90 -->
  <altitude>0</altitude>              <!-- double -->
  <heading>0</heading>                <!-- kml:angle360 -->
  <tilt>0</tilt>                      <!-- kml:anglepos180 -->
  <roll>0</roll>                      <!-- kml:angle180 -->
  <altitudeMode>clampToGround</altitudeMode>
        <!-- kml:altitudeModeEnum: relativeToGround, clampToGround, or absolute -->
        <!-- or, gx:altitudeMode can be substituted: clampToSeaFloor, relativeToSeaFloor -->
</Camera> 

Opis

Określa kamerę wirtualną, która pokazuje daną scenę. Ten element określa pozycję kamery względem jej powierzchni, a także kierunek oglądania kamery. Pozycja kamery jest zdefiniowana przez wartości <length>, <width>, <altitude> i <altitudeMode> lub <gx:altitudeMode>. Kierunek wyświetlania kamery jest określany przez znaczniki <heading>, <tilt> i <roll>. Element <Kamera> może być elementem podrzędnym funkcji lub elementami <NetworkTimeControl>>. Element nadrzędny nie może jednocześnie zawierać elementu nadrzędnego.

<Kamera> zapewnia pełną kontrolę nad 6 stopniami swobody, dzięki czemu możesz umieścić kamerę w kosmosie i obrócić ją wokół osi X, Y i Z. Najważniejsze jest, aby przechylać widok kamery w taki sposób, aby spoglądał na horyzont.

<Kamera> może też zawierać funkcję TimePrimitive (<gx:TimeSpan> lub <gx:TimeStamp>). Wartości czasu trwania w aplikacji Aparat mają wpływ na historyczne zdjęcia, światło słoneczne i wyświetlanie funkcji z sygnaturami czasowymi. Więcej informacji znajdziesz w rozdziale Time and AbstractViews w przewodniku dla programistów Time with AbstractViews.

Definiowanie widoku

W obiekcie lub obiekcie <NetworkLinkControl> użyj obiektu <Kamera> lub <LookAt> (ale nie obu tych obiektów naraz). Obiekt <Kamera> określa punkt widzenia w kontekście pozycji i orientacji widza. Obiekt <Kamera> umożliwia określenie widoku spoza powierzchni Ziemi. Obiekt <LookAt> definiuje punkt widzenia na to, co jest wyświetlane. Obiekt <LookAt> ma bardziej ograniczony zakres niż <aparat> i zwykle wymaga, aby kierunek widoku przecinał powierzchnię Ziemi.

Poniższy diagram przedstawia osie X, Y i Z, które są dołączone do kamery wirtualnej.

  • Xkieruje w prawo i nazywa się prawy wektor.
  • Y definiuje kierunek „w górę” względem ekranu i nosi nazwę wektora w górę.
  • Z od środka ekranu do punktu oka. Kamera patrzy w oś -Z, co jest nazywane wektorem widoku.

Kolejność przekształceń

Kolejność rotacji jest ważna. Domyślnie aparat patrzy prosto w kierunku osi -Z w stronę Ziemi. Przed wykonaniem obrotu aparat jest przesunięty wzdłuż osi Z do wartości <wysokość>. Kolejność przekształceń jest następująca:

  1. <altitude> – tłumaczenie wzdłuż osi Z na <wysokość>
  2. <heading> – obróć wokół osi Z.
  3. <tilt> – obraca się wokół osi X.
  4. <roll> – wykonaj rotację ponownie wokół osi Z.

Za każdym razem, gdy stosowana jest obrót, dwie osie kamery zmieniają orientację.

Elementy typowe dla aparatu

<długość geograficzna>
Długość kamery wirtualnej (punkt oka). Odległość kąta w połowie południka zerowego. Wartości na zachód od południka zakresu od -180 do 0 stopni. Wartości na wschód od południka zakresu od 0 do 180 stopni.
<szerokość>
Szerokość kamery wirtualnej. Stopnie na północ lub południe od równika (0 stopni). Wartości to od -90 do 90 stopni.
<wysokość>
Odległość kamery od metra na powierzchni (w metrach). Zinterpretowane zgodnie z parametrem <altitudeMode> lub <gx:altitudeMode> aparatu.
<nagłówek>
Kierunek kamery (azymut) w stopniach. Domyślnie=0 (prawda północna). (zobacz diagram). Wartości to od 0 do 360 stopni.
<przechylenie>
Obrót kamery w stopniach o X. Wartość 0 oznacza, że widok jest skierowany prosto do ziemi (najczęściej występujący przypadek). Wartość 90 dla <tilt> wskazuje, że widok jest skierowany w kierunku horyzontu. Wartości większe niż 90 wskazują, że widok jest skierowany w niebo. Dla elementu <tilt> wartość jest ograniczana przez +180 stopni.
<roll>
Obrót wokół kamery na osi Z (w stopniach). Wartości pochodzą z zakresu od -180 do +180 stopni.
<trybu wysokości>
Określa sposób interpretacji wartości <height> określonej dla aparatu. Możliwe wartości:
  • relativeToGround – (domyślnie) interpretuje wartość <wysokość} jako wartość w metrach nad ziemią. Jeśli punkt znajduje się nad wodą, wartość <wysokość> będzie interpretowana jako wartość w metrach powyżej poziomu morza. Zobacz punkt <gx:altitudeMode> poniżej, aby określić punkty względem dna morskiego.
  • clampToGround – w przypadku kamery ustawienie to powoduje też umieszczenie kamery relativeToGround, ponieważ umieszczenie jej dokładnie na wysokości gruntu oznaczałoby, że oko przecinałoby teren (i ten widok byłby zablokowany).
  • wartość bezwzględna – oznacza <wysokość> jako wartość w metrach powyżej poziomu morza.
<gx:altitudeMode>
Rozszerzenie KML w przestrzeni nazw rozszerzeń Google umożliwiające określanie wysokości nad poziomem morza. Wartości:
  • relativeToSeaFloor – interpretuje wartość <height} jako wartość w metrach nad poziomem morza. Jeśli punkt leży nad ziemią, a nie morzem, wartość <wysokość> będzie interpretowana jako poziom powyżej gruntu.
  • clampToSeaFloor – specyfikacja <altitude> jest ignorowana, a aparat jest umieszczany na dnie morza. Jeśli jest on na poziomie ziemi, a nie morza, aparat zostanie umieścić na poziomie gruntu.

Rozszerza

Zawiera

Powrót do góry

<KolorStyl>

Składnia

<!-- abstract element; do not create -->
<!-- ColorStyle id="ID" -->          <!-- IconStyle,LabelStyle,LineStyle,PolyStyle -->
  <color>ffffffff</color>            <!-- kml:color -->
  <colorMode>normal</colorMode>      <!-- kml:colorModeEnum: normal or random -->
<!-- /ColorStyle -->

Opis

To jest element abstrakcyjny i nie można go używać bezpośrednio w pliku KML. Zawiera ona elementy określające tryb kolorów i kolorów danego typu.

Elementy typowe dla stylu koloru

<kolor>
Wartości koloru i przezroczystości (alfa) są wyrażone w notacji szesnastkowej. Zakres wartości dowolnego koloru to od 0 do 255 (od 00 do ff). W wersji alfa właściwość 00 jest całkowicie przezroczysta, a ff jest całkowicie nieprzezroczysta. Kolejność wyrażeń jest taka: aabbggrr, gdzie aa=alfa (00 do ff); bb=niebieski (00 do ff); gg=zielony (00 do ff); rr=czerwony (00 do ff). Jeśli na przykład chcesz zastosować w nakładce niebieski kolor z 50-procentową nieprzezroczystością, możesz określić taki kolor: <color>7fff0000</color>, gdzie alfa=0x7f, blue=0xff, green=0x00 i red=0x00.
<tryb kolorów>
Wartości <colorMode> są normalne (bez efektu) i losowe. Wartość losowa stosuje losową skalę liniową do podstawy <color> w następujący sposób.
  • Aby uzyskać losowy wybór kolorów, określ podstawową wartość <color> białego ({8/}ff).
  • Jeśli określisz jeden komponent koloru (np. wartość ff0000ff dla koloru czerwonego), zostaną wybrane losowe wartości kolorów tego komponentu (czerwony). W tym przypadku będą one wynosić od 00 (czarny) do ff (pełny czerwony).
  • Jeśli podasz wartości 2 lub wszystkich 3 komponentów koloru, do każdego komponentu koloru zostanie przypisana losowa skala liniowa, której wyniki mogą mieć zakres od czarnego do maksymalnej wartości określonej dla każdego komponentu.
  • Przezroczystość koloru pochodzi z komponentu alfa tagu <color> i nigdy nie jest losowa.

Rozszerza

Rozszerzono przez

Powrót do góry

<Kontener>

Składnia

<!-- abstract element; do not create -->
<!-- Container id="ID" -->              <!-- Document,Folder -->
  <!-- inherited from Feature element -->
  <name>...</name>                      <!-- string -->
  <visibility>1</visibility>            <!-- boolean -->
  <open>0</open>                        <!-- boolean -->
  <address>...</address>                <!-- string -->
  <AddressDetails xmlns="urn:oasis:names:tc:ciq:xsdschema:xAL:2.0">...
</AddressDetails> <!-- string --> <phoneNumber>...</phoneNumber> <!-- string -->
<Snippet maxLines="2">...</Snippet> <!-- string --> <description>...</description> <!-- string --> <AbstractView>...</AbstractView> <!-- LookAt or Camera --> <TimePrimitive>...</TimePrimitive> <styleUrl>...</styleUrl> <!-- anyURI --> <StyleSelector>...</StyleSelector> <Region>...</Region> <Metadata>...</Metadata> <atom:author>...<atom:author> <!-- xmlns:atom="http://www.w3.org/2005/Atom" --> <atom:link href=" "/> <!-- specific to Container -->
<!-- 0 or more Features --> <!-- /Container -->

Opis

To jest element abstrakcyjny i nie można go używać bezpośrednio w pliku KML. Element Container zawiera co najmniej jedną funkcję i umożliwia tworzenie zagnieżdżonych hierarchii.

Rozszerza

Rozszerzono przez

Powrót do góry

<Dokument>

Składnia

<Document id="ID">
  <!-- inherited from Feature element -->
  <name>...</name>                      <!-- string -->
  <visibility>1</visibility>            <!-- boolean -->
  <open>0</open>                        <!-- boolean -->
  <atom:author>...<atom:author>         <!-- xmlns:atom -->
  <atom:link href=" "/>                 <!-- xmlns:atom -->
  <address>...</address>                <!-- string -->
  <xal:AddressDetails>...</xal:AddressDetails>  <!-- xmlns:xal -->
<phoneNumber>...</phoneNumber> <!-- string -->
<Snippet maxLines="2">...</Snippet> <!-- string --> <description>...</description> <!-- string --> <AbstractView>...</AbstractView> <!-- Camera or LookAt --> <TimePrimitive>...</TimePrimitive> <styleUrl>...</styleUrl> <!-- anyURI --> <StyleSelector>...</StyleSelector> <Region>...</Region> <Metadata>...</Metadata> <!-- deprecated in KML 2.2 --> <ExtendedData>...</ExtendedData> <!-- new in KML 2.2 --> <!-- specific to Document --> <!-- 0 or more Schema elements --> <!-- 0 or more Feature elements --> </Document>

Opis

Dokument to kontener na potrzeby funkcji i stylów. Ten element jest wymagany, jeśli plik KML korzysta z wspólnych stylów. Zalecamy używanie stylów udostępnionych, które wymagają tych czynności:

  1. Zdefiniuj wszystkie style w dokumencie. Do każdego stylu przypisz unikalny identyfikator.
  2. W ramach danej funkcji lub mapy stylu odwołuj się do identyfikatora stylu za pomocą elementu <styleUrl>.

Pamiętaj, że udostępnione style nie są dziedziczone przez funkcje w dokumencie.

Każda funkcja musi odwoływać się do stylów używanych w elemencie <styleUrl>. W przypadku stylu zastosowanego do dokumentu (np. ListStyle) sam dokument musi odwoływać się do elementu <styleUrl>. Na przykład:

<Document>
  <Style id="myPrettyDocument">
   <ListStyle> ... </ListStyle>

  </Style>
  <styleUrl#myPrettyDocument">
  ...
</Document> 

Nie umieszczaj stylów udostępnionych w folderze.

Ten przykład pokazuje zastosowanie stylu wspólnego.

Przykład

<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2">
<Document>
<name>Document.kml</name>
<open>1</open> <Style id="exampleStyleDocument">
<LabelStyle>
<color>ff0000cc</color>
</LabelStyle>
</Style>
<Placemark>
<name>Document Feature 1</name>
<styleUrl>#exampleStyleDocument</styleUrl>
<Point>
<coordinates>-122.371,37.816,0</coordinates>
</Point>
</Placemark>
<Placemark>
<name>Document Feature 2</name>
<styleUrl>#exampleStyleDocument</styleUrl>
<Point>
<coordinates>-122.370,37.817,0</coordinates>
</Point>
</Placemark>
</Document>
</kml>

Rozszerza

Zawiera

  • 0 lub więcej elementów pochodzących z <funkcji>,
  • 0 lub więcej elementów pochodzących z elementu <StyleSelector>.
  • 0 lub więcej elementów pochodzących ze <schema>.

Powrót do góry

<gx:duration>

Ten element jest rozszerzeniem standardu OGC KML 2.2 i jest obsługiwany w Google Earth w wersji 5.0 i nowszych. Więcej informacji

Składnia

<gx:duration>0.0</gx:duration>            <!-- double -->

Opis

<gx:duration> rozszerza gx:TourPrimitive o określony przedział czasu dla wydarzeń. Czas jest zapisywany w sekundach z wykorzystaniem podwójnego typu danych XML.

Czas trwania i <gx:FlyTo>

Jeśli w elemencie <gx:FlyTo> jest podany czas trwania, określa on czas, jaki zajmuje przeglądarce przejście z poprzedniego punktu do określonego.

<gx:FlyTo>
  <gx:flyToMode>bounce</gx:flyToMode>
  <gx:duration>10.2</gx:duration>

  <!-- AbstractView -->
    ...
  <!-- /AbstractView -->
</gx:FlyTo>

Czas trwania i <gx:AnimatedUpdate>

Określa, po jakim czasie następuje aktualizacja. Pola całkowite, pływające i kolorowe są płynnie animowane od pierwotnej do nowej wartości przez cały czas trwania. Wartości logiczne, ciągi i inne, które nie nadają się do interpolacji, są aktualizowane na końcu czasu trwania.

<gx:AnimatedUpdate>
  <gx:duration>5.0</gx:duration>
  <Update>

    ....

  </Update>
</gx:AnimatedUpdate>

 

<ExtendedData>

Składnia

<ExtendedData>                       
<Data name="string">
  <displayName>...</displayName>    <!-- string -->
   <value>...</value>                <!-- string -->
</Data> <SchemaData schemaUrl="anyURI">
<SimpleData name=""> ... </SimpleData>   <!-- string -->
</SchemaData> <namespace_prefix:other>...</namespace_prefix:other> </ExtendedData>

Opis

Element ExtendedData udostępnia trzy metody dodawania danych niestandardowych do funkcji KML (NetworkLink, Placemark, GroundOverlay, PhotoOverlay, ScreenOverlay, Document, Folder). Te techniki są

  • Dodawanie niezapisanych par danych/wartości za pomocą elementu <Dane> (podstawowe)
  • deklarowanie nowych pól wpisywanych przy użyciu elementu <Schema>, a następnie wywoływanie ich za pomocą elementu <Schema>> (zaawansowane)
  • Odwoływanie się do elementów XML zdefiniowanych w innych przestrzeniach nazw przez odwołanie do zewnętrznej przestrzeni nazw w pliku KML (podstawowy)

Te techniki można łączyć w jednym pliku KML lub funkcji dla różnych danych.

Więcej informacji znajdziesz w sekcji Dodawanie danych niestandardowych w temacie „Tematy w KML”.

Elementy typowe dla ExtendedData

<Nazwa danych ="ciąg znaków">
Tworzy niewpisaną parę nazwa/wartość. Nazwa może mieć 2 wersje: name i displayName. Atrybut name służy do identyfikowania pary danych w pliku KML. Element displayName służy do wyświetlania w Google Earth odpowiednio sformatowanej nazwy, która zawiera spacje i formaty HTML. W elemencie <text> tagu <BalloonStyle> wartość $[name/displayName] jest zastępowana ciągiem <displayName>. Jeśli zastąpisz wartość atrybutu name elementu <Data> w tym formacie (np. $[holeYardage]), wartość atrybutu zostanie zastąpiona wartością <value>. Dymek miejsca oznacza go nazwą/wartością.
<displayName>
Opcjonalny sformatowana wersja nazwa do użycia w sieci reklamowej.
<wartość>
Wartość pary danych.
<Placemark>
  <name>Club house</name>
  <ExtendedData>
    <Data name="holeNumber">
      <value>1</value>
    </Data>
    <Data name="holeYardage">
      <value>234</value>
    </Data>
    <Data name="holePar">
      <value>4</value>
    </Data>
  </ExtendedData>
</Placemark>
<SchemaDataUrl="anyURI">
Ten element jest używany w połączeniu z elementem <Schema> do dodawania wpisywanych danych niestandardowych do obiektu KML. Element Schema (określony przez atrybut schemaUrl) deklaruje niestandardowy typ danych. Rzeczywiste obiekty danych („instancje” danych niestandardowych) są definiowane za pomocą elementu SchemaData.
Schemat <schemaURL> może być pełnym adresem URL, odwołaniem do identyfikatora schematu zdefiniowanego w zewnętrznym pliku KML lub odniesieniem do identyfikatora schematu zdefiniowanego w tym samym pliku KML. Akceptujemy wszystkie z tych specyfikacji:
schemaUrl="http://host.com/PlacesIHaveLived.kml#my-schema-id"
schemaUrl="AnotherFile.kml#my-schema-id"
schemaUrl="#schema-id"   <!-- same file -->
Element schematu jest zawsze elementem podrzędnym dokumentu. Element ExtendedData jest elementem podrzędnym funkcji zawierającej dane niestandardowe.
<SimpleData name="ciąg znaków">
Ten element przypisuje wartość do niestandardowego pola danych wskazywanego przez atrybut name. Typ i nazwę tego niestandardowego pola danych są podane w elemencie <Schema>.
Oto przykład definiowania 2 niestandardowych elementów danych:
<Placemark>
  <name>Easy trail</name>
  <ExtendedData>
    <SchemaData schemaUrl="#TrailHeadTypeId">
      <SimpleData name="TrailHeadName">Pi in the sky</SimpleData>
      <SimpleData name="TrailLength">3.14159</SimpleData>
      <SimpleData name="ElevationGain">10</SimpleData>
    </SchemaData>
    </ExtendedData>
    <Point>
      <coordinates>-122.000,37.002</coordinates>
    </Point>
</Placemark>
<Placemark>
  <name>Difficult trail</name>
  <ExtendedData>
    <SchemaData schemaUrl="#TrailHeadTypeId">
      <SimpleData name="TrailHeadName">Mount Everest</SimpleData>
      <SimpleData name="TrailLength">347.45</SimpleData>
      <SimpleData name="ElevationGain">10000</SimpleData>
    </SchemaData>
  </ExtendedData>
  <Point>
    <coordinates>-122.000,37.002</coordinates>
  </Point>
</Placemark>
<przestrzeń_nazw:inne>
Ten element umożliwia dodawanie nieniestandardowych danych niestandardowych. Pamiętaj o przedstawieniu prefiksu przestrzeni nazw w pliku <json> lub atrybutu elementu <ExtendedData> oraz o prefiksie nazwy każdego elementu danych z prefiksem przestrzeni nazw. Dane niestandardowe dodane w ten sposób są zachowywane w pliku KML, ale nie są w żaden sposób używane przez program Google Earth. Jest on zawsze zapisywany wraz z plikiem.
W tym przykładzie użyto prefiksu przestrzeni nazw „camp”:
<ExtendedData xmlns:prefix="camp">
<camp:number>14</camp:number>
<camp:parkingSpaces>2</camp:parkingSpaces>
<camp:tentSites>4</camp:tentSites>
</ExtendedData>

Zawiera

  • Każdy element pochodzący z funkcji <Feature>

Zobacz również

<Funkcja>

Składnia

<!-- abstract element; do not create -->
<!-- Feature id="ID" -->                <!-- Document,Folder,
                                             NetworkLink,Placemark,
                                             GroundOverlay,PhotoOverlay,ScreenOverlay -->
  <name>...</name>                      <!-- string -->
  <visibility>1</visibility>            <!-- boolean -->
  <open>0</open>                        <!-- boolean -->
  <atom:author>...<atom:author>         <!-- xmlns:atom -->
  <atom:link href=" "/>            <!-- xmlns:atom -->
  <address>...</address>                <!-- string -->
  <xal:AddressDetails>...</xal:AddressDetails>  <!-- xmlns:xal -->
<phoneNumber>...</phoneNumber> <!-- string -->
<Snippet maxLines="2">...</Snippet> <!-- string --> <description>...</description> <!-- string --> <AbstractView>...</AbstractView> <!-- Camera or LookAt --> <TimePrimitive>...</TimePrimitive> <!-- TimeStamp or TimeSpan --> <styleUrl>...</styleUrl> <!-- anyURI --> <StyleSelector>...</StyleSelector> <Region>...</Region> <Metadata>...</Metadata> <!-- deprecated in KML 2.2 --> <ExtendedData>...</ExtendedData> <!-- new in KML 2.2 -->
<-- /Feature -->

Opis

To jest element abstrakcyjny i nie można go używać bezpośrednio w pliku KML. Poniższy diagram przedstawia wygląd niektórych elementów funkcji w Google Earth.

Elementy charakterystyczne

<nazwa>
Tekst zdefiniowany przez użytkownika wyświetlany w przeglądarce 3D jako etykieta obiektu (np. Placemark, Folder lub NetworkLink).
<widoczność>
Wartość logiczna. Określa, czy obiekt jest początkowo pobierany w przeglądarce 3D podczas wczytywania. Aby funkcja była widoczna, tag <visability> wszystkich jej elementów nadrzędnych musi być ustawiony na wartość 1. W widoku listy w Google Earth każda funkcja ma pole wyboru, które pozwala użytkownikowi kontrolować jej widoczność.
<otwarte>
Wartość logiczna. Określa, czy dokument lub folder jest początkowo otwarty czy otwarty po wczytaniu do panelu Miejsca. 0=zwinięty (domyślnie), 1=rozwinięty. Zobacz też <ListStyle>. Ten element dotyczy tylko dokumentów, folderów i linków sieciowych.
<atom:author>

Plik KML 2.2 obsługuje nowe elementy umożliwiające uwzględnianie danych o autorze i powiązanej witrynie w pliku KML. Informacje te są wyświetlane w wynikach wyszukiwania geograficznego, zarówno w przeglądarkach Earth, jak Google Earth, jak i w innych aplikacjach, takich jak Mapy Google. Elementy zapisu w pliku KML są następujące:

  • atom:author – element nadrzędny elementu atom:name
  • atom:name – nazwa autora,
  • atom:link - zawiera atrybut href
  • href - URL strony internetowej zawierającej plik KML/KMZ

Te elementy są zdefiniowane w formacie Atom Syndication Format. Pełną specyfikację znajdziesz na stronie http://atompub.org. (zobacz przykład poniżej).

Element <atom:author> to element nadrzędny elementu <atom:name>, który określa autora funkcji KML.

<atom:link href="..." >
Określa adres URL witryny zawierającej dany plik KML lub KMZ. Pamiętaj o dodaniu przestrzeni nazw dla tego elementu w każdym pliku KML, który go używa: xmlns:atom="http://www.w3.org/2005/Atom" (zobacz przykład poniżej).
<adres>
Wartość ciągu reprezentująca nieustrukturyzowany adres zapisany jako standardowa ulica, miasto, stan/region lub kod pocztowy. Aby określić lokalizację punktu, możesz użyć tagu <address> zamiast współrzędnych geograficznych. Jeśli jednak podany tag <Point> ma pierwszeństwo przed <adresem>, informacje o tym, które języki są obsługiwane w przypadku tego tagu w Google Earth, znajdziesz w Centrum pomocy Map Google.
<xal:AddressDetails>
Ustrukturyzowany adres w formacie xAL lub eXtensible Address Language, międzynarodowy standard formatowania adresów. Parametr <xal:AddressDetails> jest używany przez KML tylko do geokodowania w Mapach Google. Szczegółowe informacje znajdziesz w dokumentacji interfejsu API Map Google. Obecnie Google Earth nie używa tego elementu – zamiast tego użyj elementu <address>. Pamiętaj o uwzględnieniu przestrzeni nazw tego elementu w każdym pliku KML, który go używa: xmlns:xal="urn:oasis:names:tc:ciq:xsdschema:xAL:2.0"
<phoneNumber>
Wartość ciągu reprezentująca numer telefonu. Ten element jest używany tylko przez aplikację Mapy Google na komórki. Standard branży telefonów komórkowych z obsługą języka Java to RFC2806.
Więcej informacji znajdziesz na stronie http://www.ietf.org/rfc /rfc2806.txt
<Fragment maxLines="2" >
Krótki opis funkcji. W programie Google Earth ten opis jest wyświetlany w panelu Miejsca pod nazwą obiektu. Jeśli fragment nie zostanie podany, użyte zostaną pierwsze 2 wiersze <description>. Jeśli w Google Earth oznaczenie miejsca zawiera zarówno opis, jak i fragment, <fragment> pojawia się pod oznaczeniem miejsca w panelu Miejsca, a znak <opis> pojawia się w dymku opisu oznaczenia miejsca. Ten tag nie obsługuje znaczników HTML. <Fragment> ma atrybut maxLines, czyli liczbę całkowitą, która określa maksymalną liczbę wyświetlanych wierszy.
<description>

Treści dostarczone przez użytkownika, które pojawiają się w dymku opisu.

Obsługiwane elementy dla elementu <description> zostały zmienione z Google Earth 4.3 na 5.0. Poniżej znajdziesz szczegółowe informacje o poszczególnych wersjach wraz z informacjami typowymi dla obu tych wersji.

Google Earth 5.0

Google Earth w wersji 5.0 (i nowszych) obsługuje w treści dymków opisy w postaci zwykłego tekstu, a także pełny kod HTML i JavaScript. Zawartość tagu opisu jest renderowana przez silnik WebKit o otwartym kodzie źródłowym i wyświetlana tak samo jak w dowolnej przeglądarce opartej na WebKit.

Ograniczenia ogólne

Linki do plików lokalnych są na ogół niedozwolone. Zapobiega to uszkodzeniu systemu i uzyskaniu dostępu do danych przez złośliwy kod. Jeśli chcesz zezwolić na dostęp do lokalnego systemu plików, wybierz Ustawienia > Zezwalaj na dostęp do plików lokalnych i danych osobistych. Linki do plików graficznych w lokalnym systemie plików są zawsze dozwolone, jeśli znajdują się w tagach <img>.

Treści skompresowane w pliku KMZ są dostępne nawet wtedy, gdy znajdują się w lokalnym systemie plików.

Obsługa plików cookie jest włączona, ale na potrzeby zasad tego samego źródła treści lokalne nie są wspólne z innymi treściami (w tym innymi treściami lokalnymi).

w kodzie HTML,

Kod HTML jest w większości renderowany tak samo jak w dowolnej przeglądarce WebKit.

Elementy docelowe są ignorowane, gdy są umieszczone w kodzie HTML bezpośrednio w pliku KML. Wszystkie takie linki są otwierane, jak gdyby element docelowy był ustawiony na wartość _blank. Wszystkie określone wartości docelowe są ignorowane.

Kod HTML zawarty w elemencie iframe będzie jednak używany domyślnie jako kod wygenerowany dynamicznie w języku JavaScript lub DHTML. Inne cele mogą być określone i obsługiwane.

Zawartość plików KMZ, lokalnych linków zakotwiczonych i metod ;flyto nie może być celem kierowania z kodu HTML zawartego w elemencie iframe.

Jeśli użytkownik określi wartość width="100%" jako szerokość elementu iframe, to szerokość elementu iFrame będzie zależna od pozostałej treści w dymku. Należy go zasadniczo zignorować podczas obliczania rozmiaru układu. Ta reguła obejmuje również wszystkie inne elementy blokowania w dymkach.

JavaScript

Obsługiwana jest większość skryptów JavaScript. Nie można tworzyć okien dialogowych – funkcje takie jak alert() i alert() nie są wyświetlane. Zostaną one jednak zapisane w konsoli systemowej, podobnie jak inne błędy i wyjątki.

Usługi porównywania cen

Usługa porównywania cen jest dozwolona. Podobnie jak w przypadku CSS w standardowej przeglądarce, usługa porównywania cen może służyć do określania stylu tekstu i elementów stron oraz kontrolowania rozmiaru i wyglądu dymków opisu.

Google Earth 4.3

Element <description> obsługuje zwykły tekst oraz podzbiór elementów formatowania HTML, w tym tabele (patrz przykład w formacie KML poniżej). Nie obsługuje on innych technologii internetowych, takich jak dynamiczne znaczniki stron (PHP, JSP, ASP), języki skryptów (VBScript, JavaScript) ani języki aplikacji (Java, Python). Google Earth w wersji 4.2 obsługuje wideo. (zobacz przykład poniżej).

Wspólne informacje

Jeśli opis nie zawiera znaczników HTML, Google Earth spróbuje je sformatować, zastępując nowe wiersze znakiem <br> i zawijając adresy URL tagami kotwicy. Prawidłowy ciąg adresu URL witryny WWW jest automatycznie konwertowany na hiperlink do tego adresu URL (np. http://www.google.pl). Dlatego nie ma potrzeby dodawania adresu URL tagami <a href="http://.."></a>, aby uzyskać prosty link.

Jeśli używasz HTML-a do tworzenia hiperlinku wokół określonego słowa lub gdy korzystasz z obrazów w takim kodzie, musisz używać odwołań do elementów HTML lub elementu CDATA, aby uniknąć znaczenia nawiasów kątowych, apostrofów i innych znaków specjalnych. Element CDATA informuje parser XML, że ma ignorować znaki specjalne w nawiasach kwadratowych. Ten element ma postać:

<![CDATA[
  special characters here
]]> 

Jeśli nie chcesz używać elementu CDATA, możesz zastąpić wszystkie znaki specjalne za pomocą odwołań do elementów.

<description>
  <![CDATA[
This is an image
<img src="icon.jpg">
  ]]>
</description>

Inne zachowania określone przez wykorzystanie elementu <a>

KML obsługuje 2 atrybuty w elemencie <a>: href i type.

Element <a> kotwicy zawiera atrybut href, który określa adres URL.

Jeśli href jest plikiem KML, a jego rozszerzenie to .json lub .kmz, Google Earth wczytuje ten plik bezpośrednio po kliknięciu przez użytkownika. Jeśli adres URL kończy się rozszerzeniem nieznanym Google Earth (np. .html), jest wysyłany do przeglądarki.

href może być fragmentem adresu URL (czyli znakiem #, po którym następuje identyfikator KML). Gdy użytkownik kliknie link zawierający URL fragmentu, domyślnie przeglądarka przechodzi do funkcji, której identyfikator pasuje do fragmentu. Jeśli obiekt ma element LookAt lub Aparat, jest on wyświetlany z określonego punktu widokowego.

Działanie można jeszcze określić, dodając do adresu URL fragmentu jeden z tych 3 ciągów:

  • ;flyto (domyślnie) – przejście do obiektu
  • ;balloon – otwarcie dymka obiektu, ale nie przejście do niego
  • ;balloonFlyto: otwarcie dymka obiektu i przejście do obiektu

Na przykład ten kod wskazuje, że należy otworzyć plik CraftsFairs.json, przejść do oznaczenia miejsca o identyfikatorze „Albuquerque” i otworzyć dymek:

<description>
  <![CDATA[ 
<a href="http://myServer.com/CraftsFairs.kml#Albuquerque;balloonFlyto">
One of the Best Art Shows in the West</a> ]]> </description>

Atrybut type jest używany w elemencie <a> w przypadku, gdy atrybut href nie kończy się na .json ani .kmz, a plik referencyjny musi być interpretowany w kontekście pliku KML. Podaj te informacje:

type="application/vnd.google-earth.kml+xml" 

Na przykład ten URL używa atrybutu type do powiadamiania Google Earth, że powinien on próbować wczytać plik, mimo że jego rozszerzenie to .php:

<a href="myserver.com/cgi-bin/generate-kml.php#placemark123"
   type="application/vnd.google-earth.kml+xml">
<AbstractView>
Określa punkt widokowy powiązany z dowolnym elementem pochodzącym z funkcji. Zobacz <Aparat> i <LookAt>.
<TimePrimitive>
Przypisuje tę funkcję do przedziału czasu (<TimeSpan>) lub punktu w czasie (<TimeStamp>).
<styleUrl>,
URL <Style> lub <StyleMap> zdefiniowany w dokumencie. Jeśli styl znajduje się w tym samym pliku, użyj odwołania #. Jeśli styl jest zdefiniowany w pliku zewnętrznym, użyj pełnego adresu URL wraz z # odwołaniami. Przykłady:
<styleUrl>#myIconStyleID</styleUrl>
<styleUrl>http://someserver.com/somestylefile.xml#restaurant</styleUrl>
<styleUrl>eateries.kml#my-lunch-spot</styleUrl>
<Selektor stylu>
Jeden lub więcej stylów i stylów map można zdefiniować, aby dostosować wygląd dowolnego elementu pochodzącego z funkcji lub geometrii w oznaczeniu miejsca. Patrz <BalloonStyle>, <ListStyle>, <StyleSelector>, i style pochodzące z <ColorStyle>. Styl zdefiniowany w elemencie jest nazywany „stylem wbudowanym” i dotyczy tylko tego elementu, który go zawiera. Styl zdefiniowany jako element podrzędny elementu <Document> jest nazywany „stylem udostępnianym”. Styl udostępniany musi mieć zdefiniowany identyfikator. Do tego identyfikatora odwołuje się co najmniej jedna cecha w elemencie <Document>. W przypadkach, gdy element stylu jest zdefiniowany zarówno w stylu wspólnym, jak i w tekście w obiekcie elementu – czyli folder, GroundOverlay, NetworkLink, Placemark lub ScreenOverlay – wartość stylu wbudowanego funkcji ma pierwszeństwo przed wartością stylu wspólnego.
<Region>
Obiekty i geometrie powiązane z regionem są rysowane tylko wtedy, gdy region jest aktywny. Zobacz <Region>.
<Metadane>
<ExtendedData>
Umożliwia dodawanie niestandardowych danych do pliku KML. Mogą to być: (1) dane odwołujące się do zewnętrznego schematu XML, (2) niewpisane pary danych/wartości lub (3) dane wpisane. Dana funkcja KML może zawierać kombinację tych typów danych niestandardowych.

Przykład użycia elementów HTML w opisie

Ten przykład pokazuje pełny zestaw elementów HTML obsługiwanych w elemencie <description> w Google Earth 4.3. Google Earth w wersji 5.0 i nowszych obsługuje pełny HTML i JavaScript.

<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2">
<Placemark>
<name>Feature.kml</name> <Snippet maxLines="4">
The snippet is a way of
providing an alternative
description that will be
shown in the List view.
</Snippet>
<description>
<![CDATA[
Styles: <i>Italics</i>, <b>Bold</b>, <u>Underlined</u>,
<s>Strike Out</s>, subscript<sub>subscript</sub>,
superscript<sup>superscript</sup>,
<big>Big</big>, <small>Small</small>, <tt>Typewriter</tt>,
<em>Emphasized</em>, <strong>Strong</strong>, <code>Code</code>
<hr />
Fonts:
<font color="red">red by name</font>,
<font color="#408010">leaf green by hexadecimal RGB</font>,
<font size=1>size 1</font>, <font size=2>size 2</font>,
<font size=3>size 3</font>, <font size=4>size 4</font>,
<font size=5>size 5</font>, <font size=6>size 6</font>,
<font size=7>size 7</font>,
<font face=times>Times</font>,
<font face=verdana>Verdana</font>,
<font face=arial>Arial</font>
<br/>
<hr />
Links:
<a href="http://doc.trolltech.com/3.3/qstylesheet.html">
QT Rich Text Rendering
</a>
<br />
<hr />
Alignment:
<br />
<p align=left>left</p><p align=center>center</p>
<p align=right>right</p>
<hr />
Ordered Lists:
<br />
<ol><li>First</li><li>Second</li><li>Third</li></ol>
<ol type="a"><li>First</li><li>Second</li><li>Third</li></ol>
<ol type="A"><li>First</li><li>Second</li><li>Third</li></ol>
<hr />
Unordered Lists:
<br />
<ul><li>A</li><li>B</li><li>C</li></ul>
<ul type="circle"><li>A</li><li>B</li><li>C</li></ul>
<ul type="square"><li>A</li><li>B</li><li>C</li></ul>
<hr />
Definitions:
<br />
<dl>
<dt>Scrumpy</dt>
<dd>Hard English cider from the west country</dd>
<dt>Pentanque</dt>
<dd>A form of boules where the goal is to throw metal ball as
close as possible to a jack</dd>
</dl>
<hr />
Block Quote:
<br />
<blockquote>
We shall not cease from exploration<br />
And the end of all our exploring<br />
Will be to arrive where we started<br />
And know the place for the first time
</blockquote>
<br />
<hr />
Centered:
<br />
<center>See, I have a Rhyme assisting<br />
my feeble brain,<br />
its tasks oft-times resisting!</center>
<hr />
Headings:
<br />
<h1>Header 1</h1>
<h2>Header 2</h2>
<h3>Header 3</h3>
<h3>Header 4</h4>
<h3>Header 5</h5>
<hr />
Images:
<br />
<img src="icon.jpg">
and we have a link http://www.google.com.]]> </description> <Point>
<coordinates>-122.378927,37.826793,0</coordinates>
</Point>
</Placemark>
</kml>

Przykładowe zastosowanie elementów skryptu

W tym przykładzie pokazano wykorzystanie elementów <atom:author>, <atom:name> i <atom:link> z przestrzeni nazw Atom. Pamiętaj o odwołaniu do tej przestrzeni nazw w elemencie < KML>.

<kml xmlns="http://www.opengis.net/kml/2.2"
     xmlns:atom="http://www.w3.org/2005/Atom"> 
  <Document>
    <atom:author>
      <atom:name>J. K. Rowling</atom:name>
    </atom:author>
    <atom:link href="http://www.harrypotter.com" />
    <Placemark>
      <name>Hogwarts</name>
      <Point>
        <coordinates>1,1</coordinates>
      </Point>
    </Placemark>
    <Placemark>
      <name>Little Hangleton</name>
      <Point>
        <coordinates>1,2</coordinates>
      </Point>
    </Placemark>
  </Document>
</kml>

Przykładowy film

Ten przykład pokazuje, jak umieścić film Flash w dymku.

<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2">
<Document> <name>Video Example</name>
<Style id="sn_blue-dot_copy3">
<IconStyle>
<Icon>
<href>http://www.google.com/intl/en_us/mapfiles/ms/icons/blue-dot.png</href>
</Icon>
</IconStyle>
</Style>
<Placemark>
<name>Placemark</name>
<description>
<![CDATA[<div style="font-size:larger">
<div>
<div style="width: 212px; font-size: 12px;">
<b>The Spaghetti Film</b>
</div>
<div style="font-size: 11px;">
<a target="_blank" href="http://www.youtube.com/?v=FICUvrVlyXc">
http://www.youtube.com/?v=FICUvrVlyXc</a><br>
</div><br>
<div style="margin-left: auto; margin-right:auto;">
<object height="175" width="212">
<param value="http://www.youtube.com/v/FICUvrVlyXc" name="movie">
<param value="transparent" name="wmode">
<embed wmode="transparent" type="application/x-shockwave-flash"
src="http://www.youtube.com/v/FICUvrVlyXc" height="175"
width="212">

</object>
</div>
</div>
</div>
<div style="font-size: smaller; margin-top: 1em;">Saved from
<a href="http://maps.google.com/ig/add?synd=mpl&pid=mpl&moduleurl=
http:%2F%2Fwww.google.com%2Fig%2Fmodules%2Fmapplets-youtube.xml&hl=en&gl=us">
YouTubeVideos</a>
</div>
]]>
</description>
<styleUrl>#sn_blue-dot_copy3</styleUrl>
<Point>
<coordinates>-93.47875999999999,45.083248,0</coordinates>
</Point>
</Placemark>
</Document> </kml>

Rozszerza

Rozszerzono przez

<gx:FlyTo>

Ten element jest rozszerzeniem standardu OGC KML 2.2 i jest obsługiwany w Google Earth w wersji 5.0 i nowszych. Więcej informacji

Składnia

<gx:FlyTo id="ID">
  <gx:duration>0.0</gx:duration>         <!-- double -->
  <gx:flyToMode>bounce</gx:flyToMode>    <!-- smooth or bounce -->
  <!-- AbstractView -->                        <!-- Camera or LookAt -->
    ...
  <!-- /AbstractView -->
</gx:FlyTo>

Opis

<gx:FlyTo> określa punkt w przestrzeni, do którego przeglądarka będzie utrzymywała się podczas wycieczki. Musi on zawierać 1 element AbstractView i zawierać elementy <gx:duration> oraz <gx:flyToMode>, które określają czas potrzebny na dotarcie do zdefiniowanego punktu z bieżącego punktu i sposób lotu.

<gx:flyToMode>

<gx:flyToMode> może mieć 2 wartości: gładkie i odrzucenie.

  • Gładkie elementy FlyTos umożliwiają nieprzerwany lot między kolejnymi punktami. Nieprzerwana seria płynnych elementów FlyTos rozpoczyna się i kończy z zerową prędkością i nie zwalnia w każdym punkcie. Seria gładkich obiektów FlyTos jest łamana przez dowolny z tych elementów:
    • <gx:flyToMode>bounce</gx:flyToMode>
    • <gx:Wait>
    To oznacza, że prędkość przy gładkim elemencie FlyTo będzie wynosić 0 bezpośrednio przed dowolnym z tych elementów. Seria gładkich obiektów FlyTos nie jest dzielona według elementów <gx:AnimatedUpdate>.

  • Odbijanie elementów FlyTos rozpoczyna się i kończy w zerowej prędkości.

Przykład

<gx:FlyTo>
<gx:duration>2.55</gx:duration>
<gx:flyToMode>smooth</gx:flyToMode>
<Camera>
<longitude>-113.084448</longitude>
<latitude>36.567081</latitude>
<altitude>41277.571403</altitude>
<heading>116.150227</heading>
<altitudeMode>absolute</altitudeMode>
</Camera>
</gx:FlyTo>

Rozszerza

Zawiera

<Folder>

Składnia

<Folder id="ID">
  <!-- inherited from Feature element -->
  <name>...</name>                      <!-- string -->
  <visibility>1</visibility>            <!-- boolean -->
  <open>0</open>                        <!-- boolean -->
  <atom:author>...<atom:author>         <!-- xmlns:atom -->
  <atom:link href=" "/>            <!-- xmlns:atom -->
  <address>...</address>                <!-- string -->
  <xal:AddressDetails>...</xal:AddressDetails>  <!-- xmlns:xal -->
<phoneNumber>...</phoneNumber> <!-- string -->
<Snippet maxLines="2">...</Snippet> <!-- string --> <description>...</description> <!-- string --> <AbstractView>...</AbstractView> <!-- Camera or LookAt --> <TimePrimitive>...</TimePrimitive> <styleUrl>...</styleUrl> <!-- anyURI --> <StyleSelector>...</StyleSelector> <Region>...</Region> <Metadata>...</Metadata> <!-- deprecated in KML 2.2 --> <ExtendedData>...</ExtendedData> <!-- specific to Folder --> <!-- 0 or more Feature elements --> </Folder>

Opis

Folder służy do porządkowania hierarchii innych funkcji (Foldery, Oznaczenia miejsc, Linki NetworkLink lub Nakładki). Element jest widoczny tylko wtedy, gdy jest on widoczny dla wszystkich elementów nadrzędnych.

Przykład

<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2">
<Folder>
<name>Folder.kml</name> <open>1</open>
<description>
A folder is a container that can hold multiple other objects
</description>
<Placemark>
<name>Folder object 1 (Placemark)</name>
<Point>
<coordinates>-122.377588,37.830266,0</coordinates>
</Point>
</Placemark>
<Placemark>
<name>Folder object 2 (Polygon)</name>
<Polygon>
<outerBoundaryIs>
<LinearRing>
<coordinates>
-122.377830,37.830445,0
-122.377576,37.830631,0
-122.377840,37.830642,0
-122.377830,37.830445,0
</coordinates>
</LinearRing>
</outerBoundaryIs>
</Polygon>
</Placemark>
<Placemark>
<name>Folder object 3 (Path)</name>
<LineString>
<tessellate>1</tessellate>
<coordinates>
-122.378009,37.830128,0 -122.377885,37.830379,0
</coordinates>
</LineString>
</Placemark>
</Folder>
</kml>

Rozszerza

Zawiera

  • Każdy element pochodzący z funkcji <Feature>

<Geometria>

Składnia

<!-- abstract element; do not create -->
<!-- Geometry id="ID" -->
                                              <!-- Point,LineString,LinearRing,
                                               Polygon,MultiGeometry,Model,
                                               gx:Track -->
<!-- /Geometry -->

Opis

To jest element abstrakcyjny i nie można go używać bezpośrednio w pliku KML. Zapewnia obiekt zastępczy wszystkich pochodnych obiektów geometrycznych.

Rozszerza

Rozszerzono przez

<GroundOverlay>

Składnia

<GroundOverlay id="ID">
  <!-- inherited from Feature element -->
  <name>...</name>                      <!-- string -->
  <visibility>1</visibility>            <!-- boolean -->
  <open>0</open>                        <!-- boolean -->
  <atom:author>...<atom:author>         <!-- xmlns:atom -->
  <atom:link href=" "/>                <!-- xmlns:atom -->
  <address>...</address>                <!-- string -->
  <xal:AddressDetails>...</xal:AddressDetails>  <!-- xmlns:xal -->
<phoneNumber>...</phoneNumber> <!-- string -->
<Snippet maxLines="2">...</Snippet> <!-- string --> <description>...</description> <!-- string --> <AbstractView>...</AbstractView> <!-- Camera or LookAt --> <TimePrimitive>...</TimePrimitive> <styleUrl>...</styleUrl> <!-- anyURI --> <StyleSelector>...</StyleSelector> <Region>...</Region> <Metadata>...</Metadata> <!-- deprecated in KML 2.2 --> <ExtendedData>...</ExtendedData> <!-- new in KML 2.2 --> <!-- inherited from Overlay element --> <color>ffffffff</color> <!-- kml:color --> <drawOrder>0</drawOrder> <!-- int --> <Icon>...</Icon> <!-- specific to GroundOverlay --> <altitude>0</altitude> <!-- double --> <altitudeMode>clampToGround</altitudeMode> <!-- kml:altitudeModeEnum: clampToGround or absolute --> <!-- or, substitute gx:altitudeMode: clampToSeaFloor or relativeToSeaFloor --> <LatLonBox> <north>...</north> <! kml:angle90 --> <south>...</south> <! kml:angle90 --> <east>...</east> <! kml:angle180 --> <west>...</west> <! kml:angle180 --> <rotation>0</rotation> <! kml:angle180 --> </LatLonBox> <gx:LatLonQuad> <coordinates>...</coordinates> <!-- four lon,lat tuples --> </gx:LatLonQuad> </GroundOverlay>

Opis

Ten element rysuje obraz nad powierzchnią. Element podrzędny tagu <href> elementu <Icon> określa obraz, który zostanie użyty jako nakładka. Może to być lokalny system plików lub serwer WWW. Jeśli ten element zostanie pominięty lub nie będzie zawierać tagu <href>, zostanie narysowany prostokąt z zastosowaniem kolorów i granic LatLonBox określonych za pomocą nakładki na ziemię.

Elementy typowe dla elementu GroundOverlay

<wysokość>
określa odległość nad powierzchnią Ziemi w metrach i jest interpretowana zgodnie z trybem wysokości.
<trybu wysokości>
określa sposób interpretacji wartości <altitude>. Możliwe wartości:
  • clampToGround – (domyślnie) wskazuje, że chcesz zignorować specyfikację wysokości i umieścić nakładkę nad terenem.
  • bezwzględne – określa wysokość nakładki względem poziomu morza, niezależnie od rzeczywistego poziomu terenu pod elementem. Jeśli np. ustawisz wysokość nakładki na 10 metrów w trybie bezwzględnym, nakładka pojawi się na poziomie gruntu, jeśli teren poniżej również wynosi 10 metrów nad poziomem morza. Jeśli teren znajduje się 3 metry nad poziomem morza, nakładka pojawi się nad poziomem terenu o 7 metrów.
<gx:altitudeMode>
Rozszerzenie KML w przestrzeni nazw rozszerzeń Google umożliwiające określanie wysokości nad poziomem morza. Wartości:
  • relativeToSeaFloor – interpretuje wartość <height} jako wartość w metrach nad poziomem morza. Jeśli punkt leży nad ziemią, a nie morzem, wartość <wysokość> będzie interpretowana jako poziom powyżej gruntu.
  • clampToSeaFloor – specyfikacja <altitude> jest ignorowana, a nakładka będzie drapowana na dnie morza. Jeśli punkt znajduje się na poziomie lądu, a nie morza, nakładka zostanie umieszczona na poziomie gruntu.
<LtLonBox>
Określa położenie wzdłuż górnej, dolnej i lewej krawędzi ramki ograniczającej nakładki na powierzchnię ziemi.
  • <north> Określa szerokość geograficzną północnej krawędzi ramki ograniczającej (w stopniach dziesiętnych od 0 do ±90).
  • <south> Określa szerokość południowej krawędzi ramki ograniczającej w zakresie dziesiętnym od 0 do ±90.
  • <east> Określa długość wschodnią krawędzi ramki ograniczającej w zakresie dziesiętnym od 0 do ±180. (W przypadku nakładek, które pokrywają się południkami o długości 180°, wartości mogą wykraczać poza ten zakres).
  • <west> Określa długość zachodniego krawędzi ramki ograniczającej w zakresie dziesiętnym od 0 do ±180. (W przypadku nakładek, które pokrywają się południkami o długości 180°, wartości mogą wykraczać poza ten zakres).
  • <rotation> określa kąt obrotu nakładki względem środka (w stopniach). Wartości mogą wynosić ±180. Wartość domyślna to 0 (północ). Obroty są określane w kierunku przeciwnym do ruchu wskazówek zegara.
<LatLonBox>
   <north>48.25475939255556</north>
   <south>48.25207367852141</south>
   <east>-90.86591508839973</east>
   <west>-90.8714285289695</west>
   <rotation>39.37878630116985</rotation>
</LatLonBox> 
<gx:LatLonQuad>
Przeznaczony do nakładania na prostokątne nawierzchnie kwadratowe.

Przykład

<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2">
<GroundOverlay>
<name>GroundOverlay.kml</name>
<color>7fffffff</color>
<drawOrder>1</drawOrder>
<Icon>
<href>http://www.google.com/intl/en/images/logo.gif</href>
<refreshMode>onInterval</refreshMode>
<refreshInterval>86400</refreshInterval>
<viewBoundScale>0.75</viewBoundScale>
</Icon>
<LatLonBox>
<north>37.83234</north>
<south>37.832122</south>
<east>-122.373033</east>
<west>-122.373724</west>
<rotation>45</rotation>
</LatLonBox>
</GroundOverlay>
</kml>

Rozszerza

Zawiera

<Ikona>

Składnia

<Icon id="ID">
  <!-- specific to Icon -->
  <href>...</href>                         <!-- anyURI -->
  <gx:x>0<gx:x/>                           <!-- int -->
  <gx:y>0<gx:y/>                           <!-- int -->
  <gx:w>-1<gx:w/>                          <!-- int -->
  <gx:h>-1<gx:h/>                          <!-- int -->
  <refreshMode>onChange</refreshMode>
    <!-- kml:refreshModeEnum: onChange, onInterval, or onExpire -->
  <refreshInterval>4</refreshInterval>     <!-- float -->
  <viewRefreshMode>never</viewRefreshMode>
    <!-- kml:viewRefreshModeEnum: never, onStop, onRequest, onRegion -->
  <viewRefreshTime>4</viewRefreshTime>     <!-- float -->
  <viewBoundScale>1</viewBoundScale>       <!-- float -->
  <viewFormat>...</viewFormat>             <!-- string -->
  <httpQuery>...</httpQuery>               <!-- string -->
</Icon>

Opis

Definiuje obraz powiązany ze stylem lub nakładką ikony. Wymagany element podrzędny <href> określa lokalizację obrazu, który zostanie użyty jako nakładka lub jako ikona oznaczenia miejsca. Może to być lokalny system plików lub zdalny serwer WWW. Elementy <gx:x>, <gx:y>, <gx:w> i <gx:h> służą do wybrania jednej ikony z obrazu, który zawiera wiele ikon (często określanych jako paleta ikon).

<Icon>
  <href>Sunset.jpg</href>   <!-- Here, the image contains only one icon -->
</Icon>
<Icon>
  <href>/home/mydir/myiconpalette.jpg</href>
  <gx:w>138</gx:w>
  <gx:h>138</gx:h>
    <!-- Since x and y values are omitted, these measurements are made starting at
    the lower-left corner of the icon palette image -->
</Icon>

Elementy charakterystyczne dla ikony

<href>
Adres HTTP lub lokalna specyfikacja pliku używana do wczytywania ikony.
<gx:x>
i
<gx:y>
Jeśli element <href> określa paletę ikon, te elementy identyfikują przesunięcie w pikselach, od lewego dolnego rogu palety ikon.Jeśli nie określisz wartości dla x i y, przyjmuje się, że lewy dolny róg ikony jest używany jako jej lewy dolny róg.
<gx:w>
i
<gx:h>
Jeśli <href> określa paletę ikon, te elementy określają szerokość (<gx:w>) i wysokość (<gx:h>) pikseli, których chcesz użyć.
<refreshMode>
Opis <RefreshMode> i innych elementów wymienionych poniżej znajdziesz w artykule <Link>.
<refreshInterval>
<viewRefreshMode>
<viewRefreshTime>
<viewBoundScale>
<viewFormat>
<httpQuery>

Zawiera

<IkonaIkon>>

Składnia

<IconStyle id="ID">
  <!-- inherited from ColorStyle -->
  <color>ffffffff</color>            <!-- kml:color -->
  <colorMode>normal</colorMode>      <!-- kml:colorModeEnum:normal or random -->

  <!-- specific to IconStyle -->
  <scale>1</scale>                   <!-- float -->
  <heading>0</heading>               <!-- float -->
  <Icon>
    <href>...</href>
  </Icon>
  <hotSpot x="0.5"  y="0.5"
    xunits="fraction" yunits="fraction"/>    <!-- kml:vec2 -->
</IconStyle>

Opis

Określa sposób rysowania ikon punktów orientacyjnych, zarówno w panelu Miejsca, jak i w przeglądarce 3D Google Earth. Element <ikona> określa obraz ikony. Element <scale> określa skalowanie ikony x, y. Kolor określony w elemencie <color> w tagu <IconStyle> jest mieszany z kolorem <Icon>.

Elementy typowe dla ikony stylu

<skala>
Zmienia rozmiar ikony.

Uwaga: tag <geomScale> został wycofany. Zamiast niego używaj parametru <scale>.

<nagłówek>
Kierunek (północ, południe, wschód, zachód) w stopniach. Domyślnie=0 (północ). (zobacz diagram). Wartości to od 0 do 360 stopni.
<Ikona>
Niestandardowa ikona. W <IconStyle> jedynym elementem podrzędnym <concon> jest <href>:
  • <href>: adres HTTP lub lokalna specyfikacja pliku używana do wczytywania ikony.
<hotSpot x="0.5" y="0.5" xunits="fraction" yunits="fraction">
Określa pozycję w ikonie, która jest „zakotwiczona” do <punktu> określonego w oznaczeniu miejsca. Wartości x i y można określić na 3 sposoby: jako piksele ("pixels"), jako ułamki ikony ("fraction") lub jako piksele wstawienia ("insetPixels"), czyli przesunięcie w pikselach w prawym górnym rogu ikony. Pozycje x i y można określać na różne sposoby, np. x w pikselach, a y może być ułamkiem. Punkt początkowy układu współrzędnych znajduje się w lewym dolnym rogu ikony.
  • x – liczba pikseli, ułamek komponentu ikony lub wstawianie pikseli wskazujące komponent x punktu.
  • y – liczba pikseli, komponent ułamkowy ikony lub wstawianie pikseli wskazujące komponent y punktu.
  • xunits – jednostki, w których określono wartość x. Wartość frakcji oznacza, że wartość x jest ułamkiem ikony. Wartość pixels oznacza wartość x w pikselach. Wartość parametru insetPixels wskazuje wcięcie z prawej krawędzi ikony.
  • yunits – jednostki, w których określono wartość y. Wartość frakcji oznacza, że wartość y jest ułamkiem ikony. Wartość pixels oznacza wartość y w pikselach. Wartość parametru insetPixels wskazuje wcięcie od górnej krawędzi ikony.

Przykład

<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2">
<Document>
<Style id="randomColorIcon">
<IconStyle>
<color>ff00ff00</color>
<colorMode>random</colorMode>
<scale>1.1</scale>
<Icon>
<href>http://maps.google.com/mapfiles/kml/pal3/icon21.png</href>
</Icon>
</IconStyle>
</Style>
<Placemark>
<name>IconStyle.kml</name>
<styleUrl>#randomColorIcon</styleUrl>
<Point>
<coordinates>-122.36868,37.831145,0</coordinates>
</Point>
</Placemark>
</Document>
</kml>

Rozszerza

Zawiera

Zawiera

<TXT>

Składnia

<kml xmlns="http://www.opengis.net/kml/2.2" hint="target=sky"> ... </kml>

Opis

Element główny pliku KML. Ten element jest wymagany. Jest on zgodny z deklaracją xml na początku pliku. Atrybut Wskazówka jest używany przez Google Earth do wyświetlania pliku jako danych niebieskich.

Element < KML> może też zawierać przestrzeń nazw na potrzeby zewnętrznych schematów XML, do których odwołuje się plik.

Podstawowy element <json> zawiera 0 lub 1 funkcję i 0 lub 1 obiekt NetworkLinkControl:

<kml xmlns="http://www.opengis.net/kml/2.2">
  <NetworkLinkControl> ... </NetworkLinkControl>
  <!-- 0 or 1 Feature elements -->
</kml>

<LabelStyle>

Składnia

<LabelStyle id="ID">
  <!-- inherited from ColorStyle -->
  <color>ffffffff</color>            <!-- kml:color -->
  <colorMode>normal</colorMode>      <!-- kml:colorModeEnum: normal or random -->

  <!-- specific to LabelStyle -->
  <scale>1</scale>                   <!-- float -->
</LabelStyle>

Opis

Określa, jak <nazwa> obiektu jest rysowana w przeglądarce 3D. Dla etykiety (nazwa) możesz określić własny kolor, tryb kolorów i skalę.

Uwaga: tag <labelColor> został wycofany. Zamiast niego używaj parametru <LabelStyle>.

Specyficzne dla <LabelStyle>

<skala>
Zmienia rozmiar etykiety.

Przykład

<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2">
<Document>
<Style id="randomLabelColor">
<LabelStyle>
<color>ff0000cc</color>
<colorMode>random</colorMode>
<scale>1.5</scale>
</LabelStyle>
</Style>
<Placemark>
<name>LabelStyle.kml</name>
<styleUrl>#randomLabelColor</styleUrl>
<Point>
<coordinates>-122.367375,37.829192,0</coordinates>
</Point>
</Placemark>
</Document>
</kml>

Rozszerza

Zawiera

<gx:LatLonQuad>

Ten element jest rozszerzeniem standardu OGC KML 2.2 i jest obsługiwany w Google Earth w wersji 5.0 i nowszych. Więcej informacji

Składnia

<GroundOverlay id="ID">
  ...
  <Icon>...</Icon>
  <altitude>0</altitude>
  <altitudeMode>clampToGround</altitudeMode>                   <!-- or absolute -->
         <!-- can substitute <gx:altitudeMode>clampToSeaFloor</gx:altitudeMode> -->

  <gx:LatLonQuad>
    <coordinates>...</coordinates>              <!-- four lon,lat tuples -->
  </gx:LatLonQuad>
</GroundOverlay>

Opis

Dopuszcza prostokątne nawierzchnie czworoboczne.

Określa współrzędne czterech narożników czworoboku definiującego obszar nakładki. Musisz podać dokładnie 4 pozycje ze współrzędnymi, z których każda składa się z wartości zmiennoprzecinkowych dla długości i szerokości geograficznej. Wstaw spację między krotkami. Nie dodawaj spacji w krotce. Współrzędne muszą być podane w lewo – zgodnie z kierunkiem przeciwnym do ruchu wskazówek zegara. Pierwsza współrzędne to lewy dolny róg nakładanego obrazu. Kształt opisany przez te narożniki musi być wypukły.

Jeśli trzecia wartość zostanie wstawiona w dowolnej kroju (czyli wysokości), zostanie zignorowana. Wysokość jest ustalana za pomocą <altitude> i <altitudeMode> (lub <gx:altitudeMode>) na poziomie <GroundOverlay>. Dozwolone tryby wysokości to bezwzględne, clampToGround i clampToSeaFloor.

Przykład

<?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"> <GroundOverlay> <name>gx:LatLonQuad Example</name> <Icon> <href>http://developers.google.com/kml/documentation/images/rectangle.gif</href> <viewBoundScale>0.75</viewBoundScale> </Icon> <gx:LatLonQuad> <coordinates> 81.601884,44.160723 83.529902,43.665148 82.947737,44.248831 81.509322,44.321015 </coordinates> </gx:LatLonQuad> </GroundOverlay> </kml>

Rozszerza

Zawiera

<Dzwonek{/3}

Składnia

<LinearRing id="ID">
  <!-- specific to LinearRing -->
  <gx:altitudeOffset>0</gx:altitudeOffset>   <!-- double -->
  <extrude>0</extrude>                       <!-- boolean -->
  <tessellate>0</tessellate>                 <!-- boolean -->
  <altitudeMode>clampToGround</altitudeMode>
    <!-- kml:altitudeModeEnum: clampToGround, relativeToGround, or absolute -->
    <!-- or, substitute gx:altitudeMode: clampToSeaFloor, relativeToSeaFloor -->
  <coordinates>...</coordinates>             <!-- lon,lat[,alt] tuples -->
</LinearRing>

Opis

Określa ciąg znaków w postaci zamkniętej linii, zazwyczaj zewnętrzną granicę wielokąta. Opcjonalnie do tworzenia otworów w wielokątach można też używać pierścienia liniowego jako wewnętrznej granicy wielokąta. Wielokąt może zawierać wiele elementów <LinearRing> używanych jako granice wewnętrzne.

Uwaga: w Google Earth wielokąt z parametrem <altitudeMode> ustawionym na clampToGround jest obserwowany z wierszami stałymi, ale pierścień liniowy (osobny w obrębie) <altitudeMode> o clampToGround jest liniowy.

Elementy właściwe dla linearnego pierścienia

<gx:altitudeOffset>
Rozszerzenie KML w przestrzeni nazw rozszerzeń Google, które zmienia sposób wyświetlania wartości wysokości. To przesunięcie umożliwia przesunięcie całego elementu linearRing w górę lub w dół jako jednostki bez zmiany wszystkich poszczególnych wartości współrzędnych, z których składa się LinearRing. (Chociaż linearRing jest wyświetlany za pomocą wartości przesunięcia wysokości, oryginalne wartości wysokości są zachowywane w pliku KML). Jednostki to metry.
<wytnij>
Wartość logiczna. Określa, czy połączyć liniowy element z ziemią. Aby wyodrębnić tę geometrię, tryb wysokości musi mieć wartość relativeToGround, relativeToSeaFloor lub absolute. Wydzielane są tylko wierzchołki liniowego pierścienia, a nie środek jego geometrii. Wierzchołki są wypukłe w środku kuli ziemskiej.
<tesselluj>
Wartość logiczna. Określa, czy zezwolić na obserwowanie terenu za pomocą liniowego elementu linearnego. Aby można było sprzedawać, funkcja <altitudeMode> musi mieć wartość clampToGround lub clampToSeaFloor. Bardzo duże pierścienie liniowe powinny umożliwiać teleskop, aby mogły podążać za krzywizną kuli ziemskiej (w przeciwnym razie mogą prowadzić do ziemi i być ukryte).
<trybu wysokości>
Określa sposób interpretowania komponentów wysokość w elemencie <współrzędne>. Możliwe wartości:
  • clampToGround - (domyślnie) – ignoruje specyfikację wysokości (na przykład w tagu <współrzędne>).
  • relativeToGround – określa wysokość elementu względem rzeczywistego wysokości terenu w konkretnej lokalizacji. Jeśli na przykład wysokość gruntu określona na poziomie lokalizacji jest dokładnie na poziomie morza, a wysokość punktu jest ustawiona na 9 metrów, w przypadku tego trybu wysokość ikony punktu orientacyjnego jest ustawiona na 9 metrów. Jeśli jednak ta sama współrzędna jest ustawiona na miejscu, w którym wysokość gruntu wynosi 10 metrów nad poziomem morza, wysokość wynosi 19 metrów. Ten tryb jest typowy do umieszczania kijków telefonicznych i wyciągu narciarskiego.
  • bezwzględne – określa wysokość współrzędnej względem poziomu morza, niezależnie od rzeczywistego poziomu terenu pod elementem. Jeśli na przykład w przypadku trybu bezwzględnego określisz wysokość współrzędnej na 10 metrów, ikona oznaczenia miejsca będzie wyświetlana na poziomie gruntu, jeśli teren poniżej również wynosi 10 metrów. Jeśli teren znajduje się 3 metry nad poziomem morza, oznaczenie miejsca będzie widoczne ponad poziomem ponad 7 metrów. Typowym zastosowaniem tego trybu jest rozmieszczanie samolotów.
<gx:altitudeMode>
Rozszerzenie KML w przestrzeni nazw rozszerzeń Google umożliwiające określanie wysokości nad poziomem morza. Wartości:
  • relativeToSeaFloor – interpretuje wartość <height} jako wartość w metrach nad poziomem morza. Jeśli punkt leży nad ziemią, a nie morzem, wartość <wysokość> będzie interpretowana jako poziom powyżej gruntu.
  • clampToSeaFloor – specyfikacja <altitude> jest ignorowana, a punkt znajduje się na dnie morza. Jeśli punkt znajduje się na ziemi, a nie na morzu, jest on umieszczany na poziomie gruntu.
<współrzędne>(wymagane)
Cztery lub więcej krotek, każda z wartościami zmiennoprzecinkowymi długości, szerokości i wysokości. Komponent wysokość jest opcjonalny. Nie dodawaj spacji w krotce. Ostatnia współrzędna musi być taka sama jak pierwsza. Współrzędne są wyrażone tylko w stopniach dziesiętnych.

Przykład

<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2">
<Placemark>
<name>LinearRing.kml</name>
<Polygon>
<outerBoundaryIs>
<LinearRing>
<coordinates> -122.365662,37.826988,0 -122.365202,37.826302,0 -122.364581,37.82655,0 -122.365038,37.827237,0 -122.365662,37.826988,0 </coordinates>
</LinearRing>
</outerBoundaryIs>
</Polygon>
</Placemark>
</kml>

Rozszerza

Zawiera

<LineString>

Składnia

<LineString id="ID">
  <!-- specific to LineString -->
  <gx:altitudeOffset>0</gx:altitudeOffset>  <!-- double -->
  <extrude>0</extrude>                      <!-- boolean -->
  <tessellate>0</tessellate>                <!-- boolean -->
  <altitudeMode>clampToGround</altitudeMode>
      <!-- kml:altitudeModeEnum: clampToGround, relativeToGround, or absolute -->
      <!-- or, substitute gx:altitudeMode: clampToSeaFloor, relativeToSeaFloor -->
  <gx:drawOrder>0</gx:drawOrder>            <!-- integer -->
  <coordinates>...</coordinates>            <!-- lon,lat[,alt] -->
</LineString>

Opis

Określa połączony zestaw segmentów linii. <LineStyle> pozwala określić kolor, tryb kolorów i szerokość linii. Po wysunięciu linii jest ona rozszerzana do ziemi, tworząc wielokąt wyglądający jak ściana lub płot. W przypadku wysuniętych linii można użyć bieżącej właściwości PolineStyle, a w przypadku wyodrębnienia – obecnego PolyStyle. Zapoznaj się z samouczkiem dotyczącym formatu KML, aby zobaczyć przykłady ciągów tekstowych (lub ścieżek).

Elementy charakterystyczne dla elementu LineString

<gx:altitudeOffset>
Rozszerzenie KML w przestrzeni nazw rozszerzeń Google, które zmienia sposób wyświetlania wartości wysokości. To przesunięcie umożliwia przeniesienie całego wiersza w górę lub w dół jako jednostki bez modyfikowania wszystkich wartości współrzędnych, które składają się na wiersz. (Choć wiersz jest wyświetlany za pomocą wartości przesunięcia wysokości, oryginalne wartości wysokości są zachowywane w pliku KML). Jednostki to metry.
<wytnij>
Wartość logiczna. Określa, czy połączyć linię z ziemią. Aby wyodrębnić linię, tryb wysokości musi mieć wartość relativeToGround, relativeToSeaFloor lub absolute. Wierzchołki w linii ciągnącej są wygięte w kierunku środka kuli ziemskiej.
<tesselluj>
Wartość logiczna. Określa, czy zezwalać na śledzenie linii za pomocą terenu. Aby można je było sprzedawać, tryb wysokości musi mieć wartość clampToGround lub clampToSeaFloor. Bardzo duże ciągi Lines powinny umożliwiać teleskop, aby kierowały się na krzywiznę Ziemi (w przeciwnym razie mogą prowadzić do ziemi i być ukryte).
<trybu wysokości>
Określa sposób interpretowania komponentów wysokość w elemencie <współrzędne>. Możliwe wartości:
  • clampToGround – (domyślnie) wskazuje, że zignorujesz specyfikację wysokości (na przykład w tagu <współrzędne>).
  • relativeToGround – określa wysokość elementu względem rzeczywistego wysokości terenu w konkretnej lokalizacji. Jeśli na przykład wysokość gruntu określona na poziomie lokalizacji jest dokładnie na poziomie morza, a wysokość punktu jest ustawiona na 9 metrów, w przypadku tego trybu wysokość ikony punktu orientacyjnego jest ustawiona na 9 metrów. Jeśli jednak ta sama współrzędna jest ustawiona na miejscu, w którym wysokość gruntu wynosi 10 metrów nad poziomem morza, wysokość wynosi 19 metrów. Ten tryb jest typowy do umieszczania kijków telefonicznych i wyciągu narciarskiego.
  • bezwzględne – określa wysokość współrzędnej względem poziomu morza, niezależnie od rzeczywistego poziomu terenu pod elementem. Jeśli na przykład w przypadku trybu bezwzględnego określisz wysokość współrzędnej na 10 metrów, ikona oznaczenia miejsca będzie wyświetlana na poziomie gruntu, jeśli teren poniżej również wynosi 10 metrów. Jeśli teren znajduje się 3 metry nad poziomem morza, oznaczenie miejsca będzie widoczne ponad poziomem ponad 7 metrów. Typowym zastosowaniem tego trybu jest rozmieszczanie samolotów.
<gx:altitudeMode>
Rozszerzenie KML w przestrzeni nazw rozszerzeń Google umożliwiające określanie wysokości nad poziomem morza. Wartości:
  • relativeToSeaFloor – interpretuje wartość <height} jako wartość w metrach nad poziomem morza. Jeśli punkt leży nad ziemią, a nie morzem, wartość <wysokość> będzie interpretowana jako poziom powyżej gruntu.
  • clampToSeaFloor – specyfikacja <altitude> jest ignorowana, a punkt znajduje się na dnie morza. Jeśli punkt znajduje się na ziemi, a nie na morzu, jest on umieszczany na poziomie gruntu.
<gx:drawOrder>
Liczba całkowita, która określa kolejność rysowania wielu ciągów tekstowych. Linie, które zostały narysowane jako pierwsze, mogą być częściowo lub całkowicie zasłaniane przez linie o późniejszej kolejności rysowania. Ten element może być wymagany w połączeniu z elementami <gx:outerColor> i <gx:outerWidth> w elemencie <LineStyle>, gdy linie dwukolorowe się przecinają.
<współrzędne>(wymagane)
Co najmniej 2 pozycje ze współrzędnymi – każda składają się z liczb zmiennoprzecinkowych dla długości, szerokości i wysokości. Komponent wysokość jest opcjonalny. Wstaw spację między krotkami. Nie dodawaj spacji w krotce.

Przykład

<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2">
<Document>
<name>LineString.kml</name>
<open>1</open>
<LookAt>
<longitude>-122.36415</longitude>
<latitude>37.824553</latitude>
<altitude>0</altitude>
<range>150</range>
<tilt>50</tilt>
<heading>0</heading>
</LookAt>
<Placemark>
<name>unextruded</name>
<LineString>
<extrude>1</extrude>
<tessellate>1</tessellate>
<coordinates>
-122.364383,37.824664,0 -122.364152,37.824322,0 </coordinates>
</LineString>
</Placemark>
<Placemark>
<name>extruded</name>
<LineString>
<extrude>1</extrude>
<tessellate>1</tessellate>
<altitudeMode>relativeToGround</altitudeMode>
<coordinates>
-122.364167,37.824787,50 -122.363917,37.824423,50 </coordinates>
</LineString>
</Placemark>
</Document>
</kml>

Rozszerza

Zawiera

<LineStyle>

Składnia

<LineStyle id="ID">
  <!-- inherited from ColorStyle -->
  <color>ffffffff</color>            <!-- kml:color -->
  <colorMode>normal</colorMode>      <!-- colorModeEnum: normal or random -->

  <!-- specific to LineStyle -->
  <width>1</width>                            <!-- float -->
  <gx:outerColor>ffffffff</gx:outerColor>     <!-- kml:color -->
  <gx:outerWidth>0.0</gx:outerWidth>          <!-- float -->
  <gx:physicalWidth>0.0</gx:physicalWidth>    <!-- float -->
  <gx:labelVisibility>0</gx:labelVisibility>  <!-- boolean -->
</LineStyle>

Opis

Określa styl rysunku (kolor, tryb koloru i szerokość linii) dla całej geometrii. Geometria linii obejmuje kontury wielokątów i wysunięty „wyciąg” ikon oznaczenia miejsca (jeśli wyodrębnienie jest włączone).

Elementy typowe dla elementu LineStyle

<szerokość>
Szerokość linii w pikselach.
<gx:outerColor>
Kolor części linii zdefiniowanej przez <gx:outerWidth>. Pamiętaj, że elementy <gx:outerColor> i <gx:outerWidth> są ignorowane, gdy parametry <LineStyle> są stosowane do elementów <wielokąt> i <linearRing>.
<gx:outerWidth>
Wartość z zakresu od 0,0 do 1,0, która określa odsetek wiersza z wykorzystaniem <gx:outerColor>. Ma zastosowanie tylko do linii określających szerokość w polu <gx:physicalWidth>. Nie dotyczy wierszy korzystających z właściwości <width>. Zobacz też <gx:drawOrder> w <LineString>. Wartość kolejności rysowania może być potrzebna, gdy linie przecinają się dwukolorowymi liniami, na przykład w celu wyświetlania skrzyżowań autostrad.
<gx:physicalWidth>
Fizyczna szerokość linii w metrach.
<gx:labelVisibility>
Wartość logiczna określająca, czy wyświetlić etykietę tekstową w wierszu. Etykieta LineString jest zawarta w elemencie <name>, który jest elementem równoważnym elementu <LineString> (tzn. znajduje się w tym samym elemencie <Placemark>).

Google Earth w wersji 6.1 lub nowszej nie wyświetla domyślnie etykiet. Musisz włączyć je dla każdego wiersza, ustawiając <gx:labelVisibility> na 1.

Znany problem z Google Earth 6.1: linie, które nie mają elementu <gx:physicalWidth>, będą wyświetlać etykietę tylko wtedy, gdy długość wiersza będzie większa niż 100 m i liczba znaków w etykiecie. Na przykład etykieta z 7 znakami („przykład”) pojawi się tylko wtedy, gdy linia będzie większa niż 700 m. Nie ma to wpływu na wiersze o wartości <gx:physicalWidth>.

Przykład

Przykład poniżej pokazuje nieprzezroczystą czerwoną linię o długości 50 procent i szerokość 4 pikseli.

<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2">
<Document>
  <name>LineStyle.kml</name>
  <open>1</open>
  <Style id="linestyleExample">
    <LineStyle>
      <color>7f0000ff</color>
      <width>4</width>
      <gx:labelVisibility>1</gx:labelVisibility>
    </LineStyle>
  </Style>
  <Placemark>
    <name>LineStyle Example</name>
    <styleUrl>#linestyleExample</styleUrl>
    <LineString>
      <extrude>1</extrude>
      <tessellate>1</tessellate>
      <coordinates>
        -122.364383,37.824664,0 -122.364152,37.824322,0
      </coordinates>
    </LineString>
  </Placemark>
</Document>
</kml>

Rozszerza

Zawiera

Składnia

<Link id="ID">
  <!-- specific to Link -->
  <href>...</href>                      <!-- string -->
  <refreshMode>onChange</refreshMode>
    <!-- refreshModeEnum: onChange, onInterval, or onExpire -->
  <refreshInterval>4</refreshInterval>  <!-- float -->
  <viewRefreshMode>never</viewRefreshMode>
    <!-- viewRefreshModeEnum: never, onStop, onRequest, onRegion -->
  <viewRefreshTime>4</viewRefreshTime>  <!-- float -->
  <viewBoundScale>1</viewBoundScale>    <!-- float -->
  <viewFormat>BBOX=[bboxWest],[bboxSouth],[bboxEast],[bboxNorth]</viewFormat>
                                        <!-- string -->
  <httpQuery>...</httpQuery>            <!-- string -->
</Link>

Opis

<Link> określa lokalizację dowolnego z tych elementów:

  • Pliki KML pobrane przez linki sieci
  • pliki graficzne użyte w dowolnym nakładce (element <ikona> wskazuje obraz w nakładce; <ikona> ma takie same pola jak <link>)
  • Pliki modeli używane w elemencie <Model>

Plik jest ładowany warunkowo i odświeżany w zależności od podanych tutaj parametrów odświeżania. Możesz określić 2 różne zestawy parametrów odświeżania: jeden na podstawie czasu (<RefreshMode> i <RefreshInterval>) a drugi na aktualny widok „kamery” (<viewRefreshTime> i <viewRefreshTime>). Dodatkowo określa, czy ma być skalowane parametry ramki ograniczającej, które są wysyłane do serwera (<viewBoundScale>), oraz zbiór opcjonalnych parametrów wyświetlania, które mogą być wysyłane do tego formatu, oraz do wersji w formacie.

Podczas pobierania pliku adres URL wysyłany do serwera składa się z 3 elementów:

  • Atrybut href (hipertekst), który określa plik do wczytania.
  • dowolny ciąg formatu utworzony na podstawie (a) parametrów określonych w elemencie <viewFormat> lub parametrach (b) ramki ograniczającej (jest to wartość domyślna, która jest używana, jeśli plik nie zawiera żadnego elementu <viewFormat>).
  • drugi ciąg znaków określony w elemencie <httpQuery>.

Jeśli plik określony w tagu <href> jest plikiem lokalnym, elementy <viewFormat> i <httpQuery> nie są używane.

Element <Link> zastępuje element <Url> elementu <NetworkLink> zawarty we wcześniejszych wersjach KML i zawiera funkcje elementu <Region> (wprowadzone w języku KML 2.1). W Google Earth w wersji 3.0 i starszych element <Link> jest ignorowany.

<href>
URL (adres HTTP lub lokalna specyfikacja pliku). Gdy element nadrzędny elementu <Link> jest typu NetworkLink, <href> jest plikiem KML. Gdy element nadrzędny elementu <Link> jest modelem, <href> jest plikiem COLLADA. Gdy element nadrzędny elementu <Icon> (te same pola co element <Link>) jest nakładką, <href> jest obrazem. W tym tagu można używać względnych adresów URL, które są oceniane w stosunku do otaczającego pliku KML. Szczegółowe informacje o tworzeniu względnych plików referencyjnych w plikach KML i KMZ znajdziesz w artykule Pliki KMZ.
<RefreshMode>
Określa tryb odświeżania ograniczony do czasu:
  • onChange – odświeżanie po załadowaniu pliku i po zmianie parametrów linku (ustawienie domyślne).
  • onInterval – odświeżaj co n sekund (określone w <RefreshInterval>).
  • onExpire – odśwież plik po upływie daty ważności. Jeśli pobrany plik ma parametr NetworkLinkControl,czas <expires> ma pierwszeństwo przed czasem ważności określonym w nagłówkach HTTP. Jeśli nie określono czasu <expires>, używany jest nagłówek HTTP max-age (jeśli istnieje). Jeśli atrybut max-age nie jest obecny, używany jest nagłówek HTTP Wygasa (jeśli istnieje). Szczegółowe informacje o polach nagłówka HTTP znajdziesz w sekcji RFC261b protokołu Hypertext Transfer Protocol – HTTP 1.1.
<RefreshInterval>
Wskazuje, że plik ma być odświeżany co n sekund.
<viewModeMode>
Określa odświeżanie linku po zmianie „aparatu”.
może być jedną z tych opcji:
  • nigdy (domyślna) – ignoruje zmiany w widoku danych, Ignoruj też parametry <viewFormat>, jeśli takie istnieją.
  • onStop – odświeżanie pliku n sekund po zatrzymaniu ruchu, gdzie wartość n jest określona w parametrze <viewRefreshTime>.
  • onRequest – odświeżaj plik tylko wtedy, gdy użytkownik wyraźnie o niego poprosi. (Na przykład w Google Earth użytkownik klika prawym przyciskiem myszy i wybiera opcję Odśwież w menu kontekstowym).
  • onRegion – odśwież plik, gdy region będzie aktywny. Zobacz <Region>.
<viewRefreshTime>
Po zatrzymaniu ruchu kamery określa, ile sekund ma upłynąć, zanim rozpocznie się odświeżanie widoku. (zobacz sekcje <viewRefreshMode> i onStop powyżej).
<viewBoundScale>
Przed wysłaniem parametrów BBOX przed wysłaniem ich na serwer. Wartość mniejsza niż 1 oznacza użycie mniej niż pełnego widoku (ekranu). Wartość większa niż 1 określa obszar, który wykracza poza krawędzie bieżącego widoku.
<viewFormat>
Określa format ciągu zapytania dołączanego do atrybutu <href> linku przed pobraniem pliku. Jeśli element <href> określa plik lokalny, ten element jest ignorowany.
Jeśli określisz tag <viewRefreshMode> na poziomie onStop i nie umieścisz w nim tagu <viewFormat>, do ciągu zapytania zostaną automatycznie dołączone te informacje:

BBOX=[bboxWest],[bboxSouth],[bboxEast],[bboxNorth]

Ta informacja jest zgodna ze specyfikacją ramki ograniczającej usługi Web Map (WMS).
Jeśli podasz pusty tag <viewFormat>, do ciągu zapytania nie będą dołączane żadne informacje.
Możesz też określić niestandardowy zestaw parametrów wyświetlania, aby dodać je do ciągu zapytania. Jeśli podasz ciąg znaków w formacie, zostanie on użyty zamiast informacji z pola BBOX. Jeśli potrzebujesz też informacji BBOX, musisz dodać te parametry razem z parametrami niestandardowymi.
Możesz użyć dowolnego z tych parametrów w ciągu formatu (Google Earth zastąpi aktualną wartość w momencie tworzenia ciągu zapytania):
  • [lookatLon], [lookatLat] – długość i szerokość geograficzna punktu, który wyświetla <LookAt>
  • [lookatRange], [lookat dzisiaj], [lookatHEADing] – wartości używane przez element <LookAt> (zobacz opisy elementów <range>, <tilt> i <heading> w <LookAt>).
  • [lookatTerrainLon], [lookatTerrainLat], [lookatTerrainAlt] – punkt na poziomie terenu w stopniach/metrach, który ogląda <LookAt>
  • [cameraLon], [cameraLat], [cameraAlt] – stopnie/metry obrazu punktu obserwacyjnego aparatu
  • [horizFov], [vertFov] – poziome pole widzenia kamery
  • [horizPixels], [vertPixels] – rozmiar w pikselach przeglądarki 3D
  • [terrainEnabled] – wskazuje, czy przeglądarka 3D wyświetla teren.
<http>
Dołącza informacje do ciągu zapytania na podstawie określonych parametrów. (Google Earth wstawia odpowiednią bieżącą wartość w momencie tworzenia ciągu zapytania). Obsługiwane są te parametry:
  • [wersja klienta]
  • [WersjaWersja]
  • [imię i nazwisko klienta]
  • [język]

Przykład

<NetworkLink>
  <name>NE US Radar</name>
  <flyToView>1</flyToView>
  <Link>
    <href>http://www.example.com/geotiff/NE/MergedReflectivityQComposite.kml</href>
    <refreshMode>onInterval</refreshMode>
    <refreshInterval>30</refreshInterval>
    <viewRefreshMode>onStop</viewRefreshMode>
    <viewRefreshTime>7</viewRefreshTime>
    <viewFormat>BBOX=[bboxWest],[bboxSouth],[bboxEast],[bboxNorth];CAMERA=\
      [lookatLon],[lookatLat],[lookatRange],[lookatTilt],[lookatHeading];VIEW=\
      [horizFov],[vertFov],[horizPixels],[vertPixels],[terrainEnabled]</viewFormat>
  </Link>
</NetworkLink> 

Rozszerza

Zawiera

Zobacz również

<ListStyle>

Składnia

<ListStyle id="ID">
  <!-- specific to ListStyle -->
  <listItemType>check</listItemType> <!-- kml:listItemTypeEnum:check,
                                          checkOffOnly,checkHideChildren,
                                         radioFolder -->
  <bgColor>ffffffff</bgColor>        <!-- kml:color -->
  <ItemIcon>                         <!-- 0 or more ItemIcon elements -->
    <state>open</state>
      <!-- kml:itemIconModeEnum:open, closed, error, fetching0, fetching1, or fetching2 -->
    <href>...</href>                 <!-- anyURI -->
  </ItemIcon>
</ListStyle>

Opis

Określa sposób wyświetlania obiektu w widoku listy. Widok listy to hierarchia kontenerów i elementów podrzędnych. W Google Earth jest to panel Miejsca.

Elementy typowe dla listy stylu

<listItemType>
Określa sposób wyświetlania funkcji w widoku listy. Możliwe wartości:
  • check (widoczność) – widoczność obiektu jest powiązana z polem wyboru elementu.
  • radioFolder – jeśli określisz go dla kontenera, będzie widoczny tylko jeden z jego elementów w danym momencie.
  • checkoffOnly – gdy jest określona dla kontenera lub linku sieciowego, nie pozwala na jednoczesne wyświetlanie wszystkich elementów – oznacza to, że użytkownik może wyłączyć wszystkie opcje w kontenerze lub linku sieciowym, ale nie może włączyć wszystkiego jednocześnie. To ustawienie jest przydatne w przypadku kontenerów czy linków sieciowych zawierających duże ilości danych.
  • checkHideChildren – użyj normalnego pola wyboru widoczności, ale w widoku listy nie są wyświetlane elementy podrzędne kontenera lub linku sieciowego. Pole wyboru umożliwia użytkownikom przełączanie widoczności obiektów podrzędnych w przeglądarce.
<bgColor>
Kolor tła fragmentu. Wartości koloru i przezroczystości są wyrażone w notacji szesnastkowej. Zakres wartości dowolnego koloru to od 0 do 255 (od 00 do ff). W wersji alfa właściwość 00 jest całkowicie przezroczysta, a ff jest całkowicie nieprzezroczysta. Kolejność wyrażeń jest taka: aabbggrr, gdzie aa=alfa (00 do ff); bb=niebieski (00 do ff); gg=zielony (00 do ff); rr=czerwony (00 do ff). Jeśli na przykład chcesz zastosować w nakładce niebieski kolor z 50-procentową nieprzezroczystością, możesz określić taki kolor: <color>7fff0000</color>, gdzie alfa=0x7f, blue=0xff, green=0x00 i red=0x00.
<ItemIcon>
Ikona widoku w widoku listy, która odzwierciedla stan pobierania folderu lub linku. Ikony powiązane z trybem otwarcia i zamkniętego są używane w przypadku folderów i linków sieciowych. W przypadku linków sieciowych używane są ikony powiązane z trybami error i fetching0, fetching1 i fetching2. Te zrzuty ekranu przedstawiają ikony Google Earth w tych stanach:
<state>
Określa bieżący stan NetworkLink lub Folder. Możliwe wartości to open, closed, error, fetching0, fetching1 i fetching2. Te wartości można łączyć, wstawiając między nimi spację (bez przecinka).
<href>
Określa identyfikator URI obrazu używany w widoku listy w przypadku danej funkcji.

Przykład

<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2">
<Document>
<name>ListStyle.kml</name>
<open>1</open>
<Style id="bgColorExample">
<ListStyle>
<bgColor>ff336699</bgColor>
</ListStyle>
</Style>
<Style id="checkHideChildrenExample">
<ListStyle>
<listItemType>checkHideChildren</listItemType>
</ListStyle>
</Style>
<Style id="radioFolderExample">
<ListStyle>
<listItemType>radioFolder</listItemType>
</ListStyle>
</Style>
<Folder>
<name>ListStyle Examples</name>
<open>1</open>
<Folder>
<name>bgColor example</name>
<open>1</open>
<Placemark>
<name>pl1</name>
<Point>
<coordinates>-122.362815,37.822931,0</coordinates>
</Point>
</Placemark>
<Placemark>
<name>pl2</name>
<Point>
<coordinates>-122.362825,37.822931,0</coordinates>
</Point>
</Placemark>
<Placemark>
<name>pl3</name>
<Point>
<coordinates>-122.362835,37.822931,0</coordinates>
</Point>
</Placemark>
<styleUrl>#bgColorExample</styleUrl>
</Folder>
<Folder>
<name>checkHideChildren example</name>
<open>1</open>
<Placemark>
<name>pl4</name>
<Point>
<coordinates>-122.362845,37.822941,0</coordinates>
</Point>
</Placemark>
<Placemark>
<name>pl5</name>
<Point>
<coordinates>-122.362855,37.822941,0</coordinates>
</Point>
</Placemark>
<Placemark>
<name>pl6</name>
<Point>
<coordinates>-122.362865,37.822941,0</coordinates>
</Point>
</Placemark>
<styleUrl>#checkHideChildrenExample</styleUrl>
</Folder>
<Folder>
<name>radioFolder example</name>
<open>1</open>
<Placemark>
<name>pl7</name>
<Point>
<coordinates>-122.362875,37.822951,0</coordinates>
</Point>
</Placemark>
<Placemark>
<name>pl8</name>
<Point>
<coordinates>-122.362885,37.822951,0</coordinates>
</Point>
</Placemark>
<Placemark>
<name>pl9</name>
<Point>
<coordinates>-122.362895,37.822951,0</coordinates>
</Point>
</Placemark>
<styleUrl>#radioFolderExample</styleUrl>
</Folder>
</Folder>
</Document>
</kml>

Rozszerza

Zawiera

<LookLook>

Składnia

<LookAt id="ID">
  <!-- inherited from AbstractView element -->
  <TimePrimitive>...</TimePrimitive>  <!-- gx:TimeSpan or gx:TimeStamp -->
    <gx:ViewerOptions>
    <option> name=" " type="boolean">     <!-- name="streetview", "historicalimagery", "sunlight", or "groundnavigation" -->
    </option>
  </gx:ViewerOptions>

  <!-- specific to LookAt -->
  <longitude>0</longitude>            <!-- kml:angle180 -->
  <latitude>0</latitude>              <!-- kml:angle90 -->
  <altitude>0</altitude>              <!-- double -->
  <heading>0</heading>                <!-- kml:angle360 -->
  <tilt>0</tilt>                      <!-- kml:anglepos90 -->
  <range></range>                     <!-- double -->
  <altitudeMode>clampToGround</altitudeMode>
          <!--kml:altitudeModeEnum:clampToGround, relativeToGround, absolute -->
          <!-- or, gx:altitudeMode can be substituted: clampToSeaFloor, relativeToSeaFloor -->

</LookAt>

Opis

Określa kamerę wirtualną, która jest powiązana z dowolnym elementem pochodzącym z funkcji. Element LookAt znajduje się w pozycji względem aparatu względem oglądanego obiektu. W programie Google Earth widok „przechodzi do” tego punktu widokowego po dwukrotnym kliknięciu elementu w panelu Miejsca lub dwukrotnym kliknięciu ikony w przeglądarce 3D.

Elementy charakterystyczne dla Lookat

<długość geograficzna>
Długość punktu patrzenia w kamerze. Odległość kąta w połowie południka zerowego. Wartości na zachód od południka zakresu od -180 do 0 stopni. Wartości na wschód od południka zakresu od 0 do 180 stopni.
<szerokość>
Szerokość punktu patrzenia kamery. Stopnie na północ lub południe od równika (0 stopni). Wartości to od -90 do 90 stopni.
<wysokość>
Odległość od powierzchni Ziemi w metrach. Interpretuje się zgodnie z trybem wysokości LookAt.
<nagłówek>
Kierunek (północ, południe, wschód, zachód) w stopniach. Domyślnie=0 (północ). (patrz diagram poniżej). Wartości to od 0 do 360 stopni.
<przechylenie>
Ustaw kąt między położeniem LookAt a normalnym względem powierzchni Ziemi. (patrz diagram poniżej). Wartości to od 0 do 90 stopni. Wartości parametru <tilt> nie mogą być ujemne. Wartość <tilt> wynosząca 0 stopni oznacza wyświetlanie bezpośrednio od góry. Wartość <tilt> 90 stopni oznacza wyświetlanie wzdłuż horyzontu.
<zakres>(wymagany)
Odległość w metrach od punktu określonego przez < długość geograficzna>, <szerokość> i <wysokość> do pozycji LookAt. (patrz diagram poniżej).
<trybu wysokości>
Określa sposób interpretowania wartości <altitude> określonej dla punktu patrzenia. Możliwe wartości:
  • clampToGround – (domyślnie) wskazuje, że zignoruje specyfikację <altitude> i umieścisz pozycję LookAt na poziomie terenu.
  • relativeToGround – interpretuje wartość <alheight> jako wartość metrów w metrach nad ziemią.
  • wartość bezwzględna – oznacza <wysokość> jako wartość w metrach powyżej poziomu morza.
<gx:altitudeMode>
Rozszerzenie KML w przestrzeni nazw rozszerzeń Google umożliwiające określanie wysokości nad poziomem morza. Wartości:
  • relativeToSeaFloor – interpretuje wartość <height} jako wartość w metrach nad poziomem morza. Jeśli punkt leży nad ziemią, a nie morzem, wartość <wysokość> będzie interpretowana jako poziom powyżej gruntu.
  • clampToSeaFloor – specyfikacja <altitude> jest ignorowana, a LookAt znajduje się na dnie morza. Jeśli punkt znajduje się na ziemi, a nie na morzu, LookLook jest umieszczany na poziomie gruntu.

Ten schemat pokazuje elementy <range>, <tilt> i <height>:

 

Ten diagram pokazuje element <header>:

 

Wschód=90, południe=180, zachód=270
<?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">

  <Placemark>
    <name>LookAt.kml</name>
    <LookAt>
      <gx:TimeStamp>
        <when>1994</when>
      </gx:TimeStamp>
      <longitude>-122.363</longitude>
      <latitude>37.81</latitude>
      <altitude>2000</altitude>
      <range>500</range>
      <tilt>45</tilt>
      <heading>0</heading>
      <altitudeMode>relativeToGround</altitudeMode>
    </LookAt>
    <Point>
      <coordinates>-122.363,37.82,0</coordinates>
    </Point>
  </Placemark>
</kml>

Rozszerza

Zawiera

<Model >

Składnia

<Model id="ID">
  <!-- specific to Model -->
  <altitudeMode>clampToGround</altitudeMode>
      <!-- kml:altitudeModeEnum: clampToGround,relativeToGround,or absolute -->
      <!-- or, substitute gx:altitudeMode: clampToSeaFloor, relativeToSeaFloor -->
  <Location>
    <longitude></longitude> <!-- kml:angle180 -->
    <latitude></latitude>   <!-- kml:angle90 -->
    <altitude>0</altitude>  <!-- double -->
  </Location>
  <Orientation>
    <heading>0</heading>    <!-- kml:angle360 -->
    <tilt>0</tilt>          <!-- kml:anglepos180 -->
    <roll>0</roll>          <!-- kml:angle180 -->
  </Orientation>
  <Scale>
    <x>1</x>                <!-- double -->
    <y>1</y>                <!-- double -->
    <z>1</z>                <!-- double -->
  </Scale>
  <Link>...</Link>
  <ResourceMap>
    <Alias>
      <targetHref>...</targetHref>   <!-- anyURI -->
      <sourceHref>...</sourceHref>   <!-- anyURI -->
    </Alias>
  </ResourceMap>
</Model>

Opis

Obiekt 3D opisany w pliku COLLADA (wymieniony w tagu <Link>). Pliki COLLADA mają rozszerzenia .dae. Modele są tworzone we własnych przestrzeniach współrzędnych, a następnie rozmieszczane, umieszczane i skalowane w programie Google Earth. Więcej informacji znajdziesz na stronie „Tematy w KML” w artykule Modele.

Google Earth obsługuje typowy profil COLLADA. Wyjątki:

  • W przypadku typów podstawowych program Google Earth obsługuje trójkąty i linie. Maksymalna dozwolona liczba trójkątów to 21845.
  • Google Earth nie obsługuje animacji ani skórek.
  • Google Earth nie obsługuje odniesień do geometrii zewnętrznej.

Elementy typowe dla modelu

<trybu wysokości>
Określa sposób interpretacji wartości <wysokość> określonej w polu <Lokalizacja>. Możliwe wartości:
  • clampToGround – (domyślna) wskazuje, że ma zignorować specyfikację <altitude> i umieścić model na ziemi.
  • relativeToGround – interpretuje wartość <alheight> jako wartość metrów w metrach nad ziemią.
  • wartość bezwzględna – oznacza <wysokość> jako wartość w metrach powyżej poziomu morza.
<gx:altitudeMode>
Rozszerzenie KML w przestrzeni nazw rozszerzeń Google umożliwiające określanie wysokości nad poziomem morza. Wartości:
  • relativeToSeaFloor – interpretuje wartość <height} jako wartość w metrach nad poziomem morza. Jeśli punkt leży nad ziemią, a nie morzem, wartość <wysokość> będzie interpretowana jako poziom powyżej gruntu.
  • clampToSeaFloor – specyfikacja <alheight> jest ignorowana, a model jest umiejscowiony na dnie morza. Jeśli punkt znajduje się na poziomie lądu, a nie morza, model jest umieszczany na poziomie gruntu.
<Lokalizacja>
Określa współrzędne geograficzne punktu początkowego (szerokość, długość i wysokość). Pomiary szerokości i długości geograficznej to standardowe odwzorowanie łańcuchowe używane w punktach odniesienia WGS84. Wysokość to odległość nad powierzchnią Ziemi w metrach i interpretuje ją według wartości <altitudeMode> lub <gx:altitudeMode>.
<Location>
  <longitude>39.55375305703105</longitude>
  <latitude>-118.9813220168456</latitude>
  <altitude>1223</altitude>
</Location> 
<Orientacja>
Opisuje obrót układu współrzędnych modelu 3D, aby określić położenie obiektu w Google Earth. Zobacz diagramy poniżej.
<Orientation>
  <heading>45.0</heading>
  <tilt>10.0</tilt>
  <roll>0.0</roll>
</Orientation> 

Obroty są stosowane do modelu w tej kolejności:

  1. <roll>
  2. <przechylenie>
  3. <nagłówek>
<nagłówek>
Obrót wokół osi z (normalny do powierzchni Ziemi). Wartość 0 (domyślna) to północ. Rotacja dodatnia znajduje się wokół osi z i jest określona w stopniach od 0 do 360.
<przechylenie>
Obrót wokół osi x. Obrót o dodatnią wartość ruchu wskazówek zegara wokół osi x i określony w zakresach od 0 do 180
<roll>
Obrót wokół osi y. Obrót o dodatnią wartość ruchu wskazówek zegara wokół osi Y i określony w zakresach od 0 do 180
nagłówka, przechylenia i obrócenia są określone w kierunku zgodnym z ruchem wskazówek zegara, patrząc w dół wzdłuż osi w kierunku punktu początkowego
Ten diagram pokazuje typową oś modelu:
W typowym modelu +x jest po prawej stronie, +y jest na przodzie i zorientowany na północ, a +z na górze
<Skala>
Skaluje model wzdłuż osi x, y i z w współrzędnym modelu.
<Scale>
<x>2.5</x>
<y>2.5</y>
<z>3.5</z>
</Scale>
Określa plik do załadowania i opcjonalne parametry odświeżania. Zobacz <Link>.
<ResourceMap>
Określa co najmniej 0 elementów <Alias>, z których każdy to mapowanie ścieżki pliku tekstur z oryginalnego pliku Collada na plik KML lub KMZ zawierający model. Za pomocą tego elementu możesz przenosić pliki tekstur i zmieniać ich nazwy bez aktualizowania oryginalnego pliku Collada, który odwołuje się do tych tekstur. Jeden element <ResourceMap> może zawierać wiele mapowań różnych plików źródłowych (Collada) do tego samego (docelowego) pliku KMZ.
<Alias>
<targetHref>../images/foo.jpg</targetHref> <sourceHref>c:\mytextures\foo.jpg</sourceHref> </Alias>
<Alias> zawiera mapowanie z <sourceHref> na <targetHref>:
<targetHref>
Określa plik tekstur do pobrania przez Google Earth. Może to być względne odwołanie do pliku obrazu w archiwum .kmz lub bezwzględne odwołanie do pliku (na przykład adres URL).
<sourceHref>,
Czy ścieżka do pliku tekstur została określona w pliku Collada .dae?
Jeśli w Google Earth nie zostanie podane mapowanie, tekstury zawarte w pliku Collada (.dae) są używane do tych reguł:
  • Brak ścieżki: jeśli nazwa tekstury nie zawiera ścieżki, Google Earth szuka tekstury w tym samym katalogu co plik .dae, który się do niej odnosi.
  • Ścieżka względna: jeśli nazwa tekstury zawiera ścieżkę względną (np. ../images/mytexture.jpg), Google Earth zinterpretuje ją jako względną wobec pliku .dae, który do niej odnosi.
  • Ścieżka bezwzględna: jeśli nazwa tekstury to ścieżka bezwzględna (c:\mytexture.jpg) lub ścieżka sieciowa (na przykład http://myserver.com/mytexture.jpg), Google Earth szuka pliku w określonej lokalizacji, niezależnie od tego, gdzie znajduje się plik .dae.

Przykład

<Model id="khModel543"> 
<altitudeMode>relativeToGround</altitudeMode>
<Location>
<longitude>39.55375305703105</longitude>
<latitude>-118.9813220168456</latitude>
<altitude>1223</altitude>
</Location>
<Orientation>
<heading>45.0</heading>
<tilt>10.0</tilt>
<roll>0.0</roll>
</Orientation>
<Scale>
<x>1.0</x>
<y>1.0</y>
<z>1.0</z>
</Scale>
<Link>
<href>house.dae</href>
<refreshMode>once</refreshMode>
</Link>
<ResourceMap>
<Alias>
<targetHref>../files/CU-Macky---Center-StairsnoCulling.jpg</targetHref>
<sourceHref>CU-Macky---Center-StairsnoCulling.jpg</sourceHref>
</Alias>
<Alias>
<targetHref>../files/CU-Macky-4sideturretnoCulling.jpg</targetHref>
<sourceHref>CU-Macky-4sideturretnoCulling.jpg</sourceHref>
</Alias>
<Alias>
<targetHref>../files/CU-Macky-Back-NorthnoCulling.jpg</targetHref>
<sourceHref>CU-Macky-Back-NorthnoCulling.jpg</sourceHref>
</Alias>
</ResourceMap>
</Model>

Rozszerza

Zawiera

<Multigeometria>

Składnia

<MultiGeometry id="ID">
  <!-- specific to MultiGeometry -->
  <!-- 0 or more Geometry elements -->
</MultiGeometry>

Opis

Kontener na zero lub więcej podstawowych elementów geometrycznych powiązanych z tą samą funkcją.

Uwaga: tag <GeometryCollection> został wycofany. Zamiast niego użyj parametru <MultiGeometry>.

Elementy właściwe dla geometrii wielowymiarowej

Przykład

<Placemark>
  <name>SF Marina Harbor Master</name>
<visibility>0</visibility>
<MultiGeometry> <LineString>
<!-- north wall --> <coordinates>
-122.4425587930444,37.80666418607323,0
-122.4428379594768,37.80663578323093,0 </coordinates>
</LineString> <LineString>
<!-- south wall -->
<coordinates>
-122.4425509770566,37.80662588061205,0
-122.4428340530617,37.8065999493009,0
</coordinates> </LineString>
</MultiGeometry> </Placemark>

Rozszerza

Zawiera

<gx:Wiele ścieżek>

Ten element jest rozszerzeniem standardu OGC KML 2.2 i jest obsługiwany w Google Earth w wersji 5.2 i nowszych. Więcej informacji

Składnia

<gx:MultiTrack id="ID">
  <!-- specific to MultiTrack -->
  <altitudeMode>clampToGround</altitudeMode>
        <!-- kml:altitudeModeEnum: clampToGround, relativeToGround, or absolute -->
        <!-- or, substitute gx:altitudeMode: clampToSeaFloor, relativeToSeaFloor -->
  <gx:interpolate>0<gx:interpolate>   <!-- boolean -->
  <gx:Track>...</gx:Track>            <!-- one or more gx:Track elements -->
</gx:MultiTrack>

Opis

Element zawierający wiele ścieżek umożliwia połączenie wielu elementów ścieżki w jedną jednostkę koncepcyjną. Załóżmy, że zbierasz dane GPS na jednodniowy przejazd rowerowy, który obejmuje kilka przystanków i postój na lunch. Z powodu przerw w czasie jedna jazda na rowerze może się pojawić jako 4 różne trasy. Zgrupowanie tych elementów <gx:Track> w jeden kontener <gx:MultiTrack> powoduje, że są one wyświetlane w Google Earth jako sekcje jednej ścieżki. Gdy ikona osiągnie koniec jednego segmentu, przejdzie na początek następnego. Element <gx:interpolate> określa, czy należy zatrzymać odtwarzanie na końcu jednej ścieżki i od razu przejść do początku następnej, czy interpolować brakujące wartości między obiema ścieżkami.

Elementy związane z gx:MultiTrack

<trybu wysokości>
Określa sposób interpretowania komponentów wysokość w elemencie <współrzędne>. Możliwe wartości:
  • clampToGround – (domyślnie) oznacza ignorowanie specyfikacji wysokości (na przykład w elemencie <gx:coord>).
  • relativeToGround – określa wysokość elementu względem rzeczywistego wysokości terenu w konkretnej lokalizacji. Jeśli na przykład wysokość gruntu określona na poziomie lokalizacji jest dokładnie na poziomie morza, a wysokość punktu jest ustawiona na 9 metrów, w przypadku tego trybu wysokość ikony punktu orientacyjnego jest ustawiona na 9 metrów. Jeśli jednak ta sama współrzędna jest ustawiona na miejscu, w którym wysokość gruntu wynosi 10 metrów nad poziomem morza, wysokość wynosi 19 metrów.
  • bezwzględne – określa wysokość współrzędnej względem poziomu morza, niezależnie od rzeczywistego poziomu terenu pod elementem. Jeśli na przykład w przypadku trybu bezwzględnego określisz wysokość współrzędnej na 10 metrów, ikona oznaczenia miejsca będzie wyświetlana na poziomie gruntu, jeśli teren poniżej również wynosi 10 metrów. Jeśli teren znajduje się 3 metry nad poziomem morza, oznaczenie miejsca będzie widoczne ponad poziomem ponad 7 metrów.
<gx:altitudeMode>
Rozszerzenie KML w przestrzeni nazw rozszerzeń Google umożliwiające określanie wysokości nad poziomem morza. Wartości:
  • relativeToSeaFloor – wartość wysokości podaje się w metrach nad poziomem morza. Jeśli punkt leży nad ziemią, a nie morzem, wysokość jest interpretowana jako położona nad ziemią.
  • clampToSeaFloor – specyfikacja wysokości jest ignorowana, a punkt znajduje się na dnie morza. Jeśli punkt znajduje się na ziemi, a nie na morzu, jest on umieszczany na poziomie gruntu.
<gx:interpolate>
Wartość logiczna. Jeśli ścieżka wielu ścieżek zawiera wiele elementów <gx:Track>, określa, czy interpolacja brakujących wartości między końcem pierwszej ścieżki a początkiem następnej. W przypadku użycia wartości domyślnej (0) ikona lub model przestaje się kończyć na końcu jednego utworu, a potem przechodzi do początku następnego.

Zawiera

Składnia

<NetworkLink id="ID">
  <!-- inherited from Feature element --><name>...</name>                      <!-- string -->
  <visibility>1</visibility>            <!-- boolean -->
  <open>0</open>                        <!-- boolean -->
  <atom:author>...<atom:author>         <!-- xmlns:atom -->
   <atom:link href=" "/>               <!-- xmlns:atom -->
  <address>...</address>                <!-- string -->
  <xal:AddressDetails>...</xal:AddressDetails>  <!-- xmlns:xal -->
<phoneNumber>...</phoneNumber> <!-- string -->
<Snippet maxLines="2">...</Snippet> <!-- string --> <description>...</description> <!-- string --> <AbstractView>...</AbstractView> <!-- Camera or LookAt --> <TimePrimitive>...</TimePrimitive> <styleUrl>...</styleUrl> <!-- anyURI --> <StyleSelector>...</StyleSelector> <Region>...</Region> <Metadata>...</Metadata> <!-- deprecated in KML 2.2 --> <ExtendedData>...</ExtendedData> <!-- new in KML 2.2 --> <!-- specific to NetworkLink --> <refreshVisibility>0</refreshVisibility> <!-- boolean --> <flyToView>0</flyToView> <!-- boolean --> <Link>...</Link> </NetworkLink>

Opis

Odnosi się do pliku KML lub archiwum KMZ w sieci lokalnej lub zdalnej. Za pomocą elementu <Link> określ lokalizację pliku KML. W tym elemencie możesz określić opcje odświeżania pliku na podstawie czasu i zmiany aparatu. NetworkLinks można używać w połączeniu z regionami, aby efektywnie zarządzać bardzo dużymi zbiorami danych.

<RefreshVisible>
Wartość logiczna. Wartość 0 oznacza widoczność funkcji w ramach kontroli nad użytkownikiem Google Earth. Ustaw wartość 1, aby resetować widoczność funkcji po każdym odświeżeniu NetworkLink. Załóżmy na przykład, że oznaczenie miejsca w połączonym pliku KML ma wartość <visvisible> ustawioną na 1, a parametr NetworkLink ma wartość <RefreshVisible> ustawioną na 1. Po pierwszym załadowaniu pliku do programu Google Earth użytkownik może wyczyścić pole wyboru obok wybranego elementu, aby wyłączyć wyświetlanie w przeglądarce 3D. Jednak po odświeżeniu NetworkLink oznaczenie miejsca znów stanie się widoczne, ponieważ pierwotny stan widoczności miał wartość TRUE.
<flyToView>
Wartość logiczna. Wartość 1 powoduje, że Google Earth przechodzi do widoku LookAt lub Aparatu w NetworkLinkControl (jeśli istnieje). Jeśli element NetworkLinkControl nie zawiera elementu AbstractView, Google Earth przechodzi do elementu LookAt lub Aparatu w elemencie Feature w elemencie < KML> w odświeżonym pliku. Jeśli element <json> nie ma określonego elementu LookAt lub Aparatu, widok jest niezmieniony. Na przykład Google Earth przejdzie do widoku <LookAt> dokumentu nadrzędnego, a nie <LookAt> oznaczeń miejsc zawartych w dokumencie.

Wskazówka: aby wyświetlać folder lub dokument najwyższego poziomu w linku sieci w widoku listy, przypisz identyfikator do tego folderu lub dokumentu. Bez tego identyfikatora w widoku listy są wyświetlane tylko nazwy obiektów podrzędnych.

Przykład

<Document>
  <visibility>1</visibility>
  <NetworkLink>
    <name>NE US Radar</name>
    <refreshVisibility>1</refreshVisibility>
    <flyToView>1</flyToView>
    <Link>...</Link></NetworkLink>
</Document>

Rozszerza

Zawiera

<ControlLinkControl>

Składnia

<NetworkLinkControl>
  <minRefreshPeriod>0</minRefreshPeriod>           <!-- float -->
  <maxSessionLength>-1</maxSessionLength>          <!-- float --> 
  <cookie>...</cookie>                             <!-- string -->
  <message>...</message>                           <!-- string -->
  <linkName>...</linkName>                         <!-- string -->
  <linkDescription>...</linkDescription>           <!-- string -->
  <linkSnippet maxLines="2">...</linkSnippet>      <!-- string -->
  <expires>...</expires>                           <!-- kml:dateTime -->
  <Update>...</Update>                             <!-- Change,Create,Delete -->
  <AbstractView>...</AbstractView>                 <!-- LookAt or Camera -->
</NetworkLinkControl>

Opis

Kontroluje zachowanie plików pobieranych przez tag <NetworkLink>.

Elementy charakterystyczne dla NetworkLinkControl

<minRefreshPeriod>
Określony w sekundach parametr <minRefreshPeriod> to minimalny dozwolony czas między pobraniami pliku. Ten parametr umożliwia serwerom ograniczanie pobierania określonego pliku i dostosowywanie częstotliwości odświeżania do oczekiwanej częstotliwości zmian danych. Użytkownik może na przykład ustawić link odświeżania na 5 sekund, ale minimalny okres odświeżania to 3600, aby ograniczyć aktualizacje do jednej godziny.
<maxSessionLength>
Określony w sekundach, <maxSessionLength> to maksymalny czas, przez jaki NetworkLink może pozostawać połączony. Wartość domyślna -1 oznacza, że sesje nie mogą być przerywane bezpośrednio.
Użyj tego elementu , aby dołączyć ciąg do zapytania URL przy następnym odświeżeniu linku sieciowego. Tych danych możesz używać w skrypcie w celu zapewnienia bardziej inteligentnej obsługi po stronie serwera, w tym zapytań dotyczących wersji i warunkowego przesyłania plików.
<message>
Możesz wyświetlić wyskakujący komunikat, np. wskazówki dotyczące korzystania z linku sieciowego. Komunikat jest wyświetlany po pierwszym załadowaniu linku sieciowego do Google Earth lub po jego zmianie w elemencie sterującym linkiem sieciowym.
<linkName>,
Możesz zmienić nazwę linku sieciowego z serwera, tak aby zmiany w nazwie po stronie klienta zostały zastąpione przez serwer.
<linkDescription>
Możesz zmienić opis linku sieciowego z serwera, aby zmiany wprowadzone w opisie po stronie klienta zostały zastąpione przez serwer.
<linksnippet maxLines="2" >
Fragment kodu połączenia sieciowego możesz kontrolować z serwera, tak aby zmiany we fragmencie kodu po stronie klienta były zastępowane przez serwer. <linkFragment> ma atrybut maxLines, czyli liczbę całkowitą, która określa maksymalną liczbę wyświetlanych wierszy.
<wygaśnięcie>
Możesz określić datę i godzinę odświeżania linku. Ta specyfikacja obowiązuje tylko wtedy, gdy parametr <RefreshMode> w <link> ma wartość onExpire. Zobacz <RefreshMode>
<Aktualizacja>
Dzięki elementowi <Update> możesz określić dowolną liczbę tagów zmian, tworzenia i usuwania w przypadku pliku .xml lub archiwum .kmz, które wczytano wcześniej przy użyciu linku sieciowego. Zobacz <Update>.
<AbstractView>

Przykład

<kml xmlns="http://www.opengis.net/kml/2.2">
<NetworkLinkControl>
   <message>This is a pop-up message. You will only see this once</message>
   <cookie>cookie=sometext</cookie>
   <linkName>New KML features</linkName>
   <linkDescription><![CDATA[KML now has new features available!]]></linkDescription>
</NetworkLinkControl>
</kml>

Rozszerza

  • To jest bezpośredni element podrzędny elementu < KML>.

Zawiera

  • <TXT>

Zobacz również

<Obiekt>

Składnia

<!-- abstract element; do not create -->
<!-- Object id="ID" targetId="NCName" -->
<!-- /Object> -->

Opis

To abstrakcyjna klasa podstawowa i nie można jej używać bezpośrednio w pliku KML. Udostępnia atrybut id, który umożliwia jednoznaczne identyfikowanie elementu KML, oraz atrybut targetId, który służy do odwołania do obiektów, które zostały już wczytane do Google Earth. Jeśli używany jest mechanizm <Update>, musisz przypisać atrybut id.

<Nakładka>

Składnia

<!-- abstract element; do not create -->
<!-- Overlay id="ID" -->                    <!-- GroundOverlay,ScreenOverlay -->
  <!-- inherited from Feature element -->
  <name>...</name>                      <!-- string -->
  <visibility>1</visibility>            <!-- boolean -->
  <open>0</open>                        <!-- boolean -->
  <atom:author>...<atom:author>         <!-- xmlns:atom -->
  <atom:link href=" "/>            <!-- xmlns:atom -->
  <address>...</address>                <!-- string -->
  <xal:AddressDetails>...</xal:AddressDetails>  <!-- xmlns:xal -->
<phoneNumber>...</phoneNumber> <!-- string -->
<Snippet maxLines="2">...</Snippet> <!-- string --> <description>...</description> <!-- string --> <AbstractView>...</AbstractView> <!-- Camera or LookAt --> <TimePrimitive>...</TimePrimitive> <styleUrl>...</styleUrl> <!-- anyURI --> <StyleSelector>...</StyleSelector> <Region>...</Region> <Metadata>...</Metadata> <!-- deprecated in KML 2.2 --> <ExtendedData>...</ExtendedData> <!-- new in KML 2.2 --> <!-- specific to Overlay --> <color>ffffffff</color> <!-- kml:color --> <drawOrder>0</drawOrder> <!-- int --> <Icon> <href>...</href> </Icon> <!-- /Overlay -->

Opis

To jest element abstrakcyjny i nie można go używać bezpośrednio w pliku KML. <Nakładka> to podstawowy typ obrazów nakładanych na powierzchnię planety lub na ekranie. <Icon> określa obraz, którego chcesz użyć. Obrazy można skonfigurować ponownie w zależności od licznika czasu lub przez zmiany w kamerze. Ten element zawiera też specyfikacje, które pozwalają określić kolejność nakładania się wielu nakładek oraz dodać wartości koloru i przejrzystości do obrazu podstawowego.

Elementy specyficzne dla nakładki

<kolor>
Wartości kolorów są wyrażone w notacji szesnastkowej, w tym wartości przezroczystości (alfa). Ustalona kolejność zwrotów to alfa, niebieski, zielony, czerwony (aabbggrr). Zakres wartości dowolnego koloru to od 0 do 255 (od 00 do ff). przezroczystości: 00 jest całkowicie przezroczysty, a ff jest całkowicie nieprzezroczysty. Jeśli na przykład chcesz zastosować w nakładce niebieski kolor z nieprzezroczystością 50%, określ ten kolor: <color>7fff0000</color>

Uwaga: element <geomColor> został wycofany. Zamiast niego używaj parametru <color>.

<draworder>
Ten element definiuje kolejność ułożenia obrazów w nałożonych na siebie nakładkach. Nakładki z wyższymi wartościami <drawOrder> są rysowane nad nakładkami o niższych wartościach <drawOrder>.
<Ikona>
Definiuje obraz powiązany z nakładką. Element <href> określa lokalizację obrazu, który ma zostać użyty jako nakładka. Może to być lokalny system plików lub serwer WWW. Jeśli ten element zostanie pominięty lub nie będzie zawierać tagu <href>, zostanie narysowany prostokąt z zastosowaniem koloru i rozmiaru zdefiniowanego przez nakładkę lub ekran.
<Icon>
   <href>icon.jpg</href>
</Icon>

Rozszerza

Rozszerzono przez

<PhotoOverlay>

Składnia

<PhotoOverlay>
  <!-- inherited from Feature element -->
  <name>...</name>                      <!-- string -->
  <visibility>1</visibility>            <!-- boolean -->
  <open>0</open>                        <!-- boolean -->
  <atom:author>...<atom:author>         <!-- xmlns:atom -->
  <atom:link href=" "/>            <!-- xmlns:atom -->
  <address>...</address>                <!-- string -->
  <xal:AddressDetails>...</xal:AddressDetails>  <!-- xmlns:xal -->
<phoneNumber>...</phoneNumber> <!-- string -->
<Snippet maxLines="2">...</Snippet> <!-- string --> <description>...</description> <!-- string --> <AbstractView>...</AbstractView> <!-- Camera or LookAt --> <TimePrimitive>...</TimePrimitive> <styleUrl>...</styleUrl> <!-- anyURI --> <StyleSelector>...</StyleSelector> <Region>...</Region> <Metadata>...</Metadata> <!-- deprecated in KML 2.2 --> <ExtendedData>...</ExtendedData> <!-- new in KML 2.2 --> <!-- inherited from Overlay element --> <color>ffffffff</color> <!-- kml:color --> <drawOrder>0</drawOrder> <!-- int --> <Icon> <href>...</href> <!-- anyURI --> ... </Icon> <!-- specific to PhotoOverlay --> <rotation>0</rotation> <!-- kml:angle180 --> <ViewVolume> <leftFov>0</leftFov> <!-- kml:angle180 --> <rightFov>0</rightFov> <!-- kml:angle180 --> <bottomFov>0</bottomFov> <!-- kml:angle90 --> <topFov>0</topFov> <!-- kml:angle90 --> <near>0</near> <!-- double --> </ViewVolume> <ImagePyramid> <tileSize>256</tileSize> <!-- int --> <maxWidth>...</maxWidth> <!-- int --> <maxHeight>...</maxHeight> <!-- int --> <gridOrigin>lowerLeft</gridOrigin> <!-- lowerLeft or upperLeft --> </ImagePyramid> <Point> <coordinates>...</coordinates> <!-- lon,lat[,alt] --> </Point> <shape>rectangle</shape> <!-- kml:shape --> </PhotoOverlay>

Opis

Za pomocą elementu <PhotoOverlay> możesz zlokalizować zdjęcie na Ziemi i określić parametry wyświetlania tej nakładki. Pole Nakładka może być prostym prostokątem 2D, częściowym lub pełnym cylindrem albo kulą sferyczną (w przypadku zdjęć sferycznych). Nakładka jest umieszczona w określonym miejscu i kierowana w kierunku widoku.

Ponieważ element <PhotoOverlay> pochodzi z elementu <Feature>, może zawierać jeden z dwóch elementów pochodzących z elementu <AbstractView> – <Kamera> lub <LookAt>. Aparat (lub LookAt) określa punkt widokowy i kierunek wyświetlania (nazywany też wektorem widoku). Położenie zdjęcia jest ustalane względem punktu widokowego. Płaszczyzna prostokątnego obrazu 2D jest ortogonalna (pod kątem prostym) do wektora widoku. Normalność tej płaszczyzny, czyli jej przedniej części, czyli fragment zdjęcia, jest skierowana w kierunku punktu obserwacyjnego.

Adres URL obrazu nakładanego jest określony w tagu <Icon> dziedziczonym z elementu <Overlay>. Tag <con> musi zawierać element <href> określający plik obrazu, który ma zostać użyty w funkcji PhotoOverlay. W przypadku bardzo dużych obrazów <href> to specjalny adres URL, który indeksuje pod kątem piramidy zawierającej obrazy w różnej rozdzielczości (patrz ImagePyramid).

Więcej informacji znajdziesz na stronie „Tematy w formacie KML” w sekcji PhotoOverlay.

Elementy charakterystyczne dla nakładania zdjęć

<rotacja>
Dostosuje sposób umieszczania zdjęcia w polu widoku. Ten element jest przydatny, jeśli zdjęcie jest obrócone i nieznacznie odbiega od żądanego widoku poziomego.
<ViewVolume>
Określa stopień widoczności bieżącej sceny. Określenie pola widzenia jest podobne do określenia otwarcia obiektywu aparatem fizycznym. Niewielkie pole widzenia, na przykład teleobiektyw, koncentruje się na niewielkiej części sceny. Duże pole widzenia, np. obiektyw szerokokątny, koncentruje się na dużej części sceny.
<leftFov>
Kąt w stopniach między kierunkiem widzenia kamery a lewą stroną głośności.
<rightFov>,
Kąt w kierunku między kamerą a prawą krawędzią widoku.
<bottomFov>
Kąt w stopniach między kierunkiem widzenia kamery a dolną stroną głośności.
<topFov>
Kąt w stopniach między kierunkiem widzenia kamery a górną stroną głośności.
<w pobliżu>
Pomiar w metrach wzdłuż kierunku wyświetlania od punktu widzenia aparatu do kształtu nakładki fotograficznej.
Pole widoku nakładki zdjęcia ma 4 płaszczyny, a każda z nich jest określana przez kąt względem wektora widoku. Te 4 płaszczyzny definiują górną, dolną, lewą i prawą stronę pola widzenia, które ma kształt skróconej piramidy, jak widać tutaj:
Na tych diagramach widać 4 kąty widzenia w tej piramidzie:
<Piramida obrazu>
W przypadku bardzo dużych obrazów musisz utworzyć piramidę obrazu, która jest hierarchicznym zestawem obrazów. Każdy obraz ma coraz niższą rozdzielczość (pierwotną). Każdy obraz w piramidzie jest podzielony na fragmenty, dzięki czemu wczytane są tylko fragmenty widoczne na zdjęciu. Google Earth oblicza bieżący punkt widokowy i wczytuje kafelki dopasowane do odległości użytkownika od obrazu. W miarę zbliżania się punktu widokowego do nakładki fotograficznej Google Earth wczytuje kafelki o wyższej rozdzielczości. Ponieważ na ekranie nie można jednocześnie wyświetlić wszystkich pikseli, dlatego wstępne przetwarzanie umożliwia Google Earth uzyskanie maksymalnej wydajności, ponieważ wczytuje tylko te części obrazu, które są widoczne, a jedynie te szczegóły dotyczące pikseli, które użytkownik może rozpoznać w bieżącym punkcie widokowym.
Jeśli określisz piramidę obrazu, zmodyfikujesz też element <href> w elemencie <Icon>, tak by zawierał parametry do wczytania kafelków.
<tilSize>
Rozmiar kafelków w pikselach. Kafelki muszą być kwadratowe, a element <ularSize> musi mieć moc 2. Rozmiar kafelka to 256 (wartość domyślna) lub 512. Oryginalne zdjęcie jest podzielone na fragmenty o różnych rozdzielczościach.
<maxWidth>,
Szerokość w oryginalnej części obrazu w pikselach.
<maxHeight>
Wysokość obrazu w oryginalnym obrazie.
<gridOrigin>
Określa miejsce, w którym mają ponumerować kafelki w poszczególnych warstwach piramidy. Wartość lowerLeft wskazuje, że wiersz 1, kolumna 1 każdej warstwy znajduje się w lewym dolnym rogu siatki.
<Punkt>
Element <Point> działa jako element <Point> wewnątrz elementu <Placemark>. Rysuje ikonę oznaczającą pozycję nakładki. Rysowana ikona jest określona w polach <styleUrl> i <StyleSelector>, tak samo jak w przypadku <Placemark>.
<kształt>
Widok nakładany jest wyświetlany na <kształtu>. < Kształt> może być jednym z tych:

prostokąt (domyślny) – do zwykłego zdjęcia

cylindryczne – do zdjęć panoramicznych, które mogą być częściowe lub pełne cylindry

sfera – do zdjęć sferycznych

Przykład

<PhotoOverlay>
  <!-- Feature elements -->
  <name>A simple non-pyramidal photo</name>
  <description>High above the ocean</description>
  <!-- Overlay elements -->
  <Icon>
  <!-- A simple normal jpeg image -->
  <href>small-photo.jpg</href>
  </Icon>
  <!-- PhotoOverlay elements -->
  <!-- default: <rotation> default is 0 -->
  <ViewVolume>
    <near>1000</near>
    <leftFov>-60</leftFov>
    <rightFov>60</rightFov>
    <bottomFov>-45</bottomFov>
    <topFov>45</topFov>
  </ViewVolume>
  <!-- if no ImagePyramid only level 0 is shown,
       fine for a non-pyramidal image -->
  <Point>
    <coordinates>1,1</coordinates>
  </Point>
  <!-- default: <shape> -->
</PhotoOverlay>

Rozszerza

Zawiera

<Oznaczenie miejsca>

Składnia

<Placemark id="ID">
  <!-- inherited from Feature element -->
  <name>...</name>                      <!-- string -->
  <visibility>1</visibility>            <!-- boolean -->
  <open>0</open>                        <!-- boolean -->
  <atom:author>...<atom:author>         <!-- xmlns:atom -->
  <atom:link href=" "/>                <!-- xmlns:atom -->
  <address>...</address>                <!-- string -->
  <xal:AddressDetails>...</xal:AddressDetails>  <!-- xmlns:xal -->
<phoneNumber>...</phoneNumber> <!-- string -->
<Snippet maxLines="2">...</Snippet> <!-- string --> <description>...</description> <!-- string --> <AbstractView>...</AbstractView> <!-- Camera or LookAt --> <TimePrimitive>...</TimePrimitive> <styleUrl>...</styleUrl> <!-- anyURI --> <StyleSelector>...</StyleSelector> <Region>...</Region> <Metadata>...</Metadata> <!-- deprecated in KML 2.2 --> <ExtendedData>...</ExtendedData> <!-- new in KML 2.2 -->
<!-- specific to Placemark element --> <Geometry>...</Geometry> </Placemark>

Opis

Oznaczenie miejsca to obiekt z powiązaną geometrią. W programie Google Earth oznaczenie miejsca pojawi się jako element listy w panelu Miejsca. Oznaczenie miejsca z punktem jest oznaczone ikoną oznaczającą punkt na Ziemi w przeglądarce 3D. (W przeglądarce 3D programu Google Earth oznaczenie miejsca jest jedynym obiektem, który można kliknąć lub przesunąć. Inne obiekty geometryczne nie mają ikony w przeglądarce 3D. Aby dać użytkownikowi coś do kliknięcia w przeglądarce 3D, musisz utworzyć obiekt MultiGeometry zawierający zarówno punkt, jak i drugi obiekt geometryczny).

Elementy charakterystyczne dla oznaczenia miejsca

Przykład

<Placemark>
  <name>Google Earth - New Placemark</name>
  <description>Some Descriptive text.</description>
  <LookAt>
    <longitude>-90.86879847669974</longitude>
    <latitude>48.25330383601299</latitude>
    <range>440.8</range>
    <tilt>8.3</tilt>
    <heading>2.7</heading>
  </LookAt>
  <Point>
    <coordinates>-90.86948943473118,48.25450093195546,0</coordinates>
  </Point>
</Placemark>

Rozszerza

Zawiera

Zobacz również

<Punkt>

Składnia

<Point id="ID">
  <!-- specific to Point -->
  <extrude>0</extrude>                        <!-- boolean -->
  <altitudeMode>clampToGround</altitudeMode>
        <!-- kml:altitudeModeEnum: clampToGround, relativeToGround, or absolute -->
        <!-- or, substitute gx:altitudeMode: clampToSeaFloor, relativeToSeaFloor -->
  <coordinates>...</coordinates>              <!-- lon,lat[,alt] -->
</Point>

Opis

Lokalizacja geograficzna zdefiniowana przez długość i szerokość geograficzną oraz (opcjonalnie) wysokość. Jeśli punkt zawiera dane oznaczenie miejsca, określa on położenie nazwy i ikony oznaczenia miejsca. Po wyodrębnieniu punktu jest on połączony z ziemią za pomocą linii. Ten element „tethering” korzysta z obecnego elementu LineStyle.

Elementy charakterystyczne dla punktu

<wytnij>
Wartość logiczna. Określa, czy połączyć punkt z ziemią za pomocą linii. Aby wyodrębnić punkt, wartość <altitudeMode> musi mieć wartość relativeToGround, relativeToSeaFloor lub absolute. Ten punkt jest wyśrodkowany w środkowej części kuli ziemskiej.
<trybu wysokości>
Określa sposób interpretowania komponentów wysokość w elemencie <współrzędne>. Możliwe wartości:
  • clampToGround – (domyślnie) wskazuje, że zignorujesz specyfikację wysokości (na przykład w tagu <współrzędne>).
  • relativeToGround – określa wysokość elementu względem rzeczywistego wysokości terenu w konkretnej lokalizacji. Jeśli na przykład wysokość gruntu określona na poziomie lokalizacji jest dokładnie na poziomie morza, a wysokość punktu jest ustawiona na 9 metrów, w przypadku tego trybu wysokość ikony punktu orientacyjnego jest ustawiona na 9 metrów. Jeśli jednak ta sama współrzędna jest ustawiona na miejscu, w którym wysokość gruntu wynosi 10 metrów nad poziomem morza, wysokość wynosi 19 metrów. Ten tryb jest typowy do umieszczania kijków telefonicznych i wyciągu narciarskiego.
  • bezwzględne – określa wysokość współrzędnej względem poziomu morza, niezależnie od rzeczywistego poziomu terenu pod elementem. Jeśli na przykład w przypadku trybu bezwzględnego określisz wysokość współrzędnej na 10 metrów, ikona oznaczenia miejsca będzie wyświetlana na poziomie gruntu, jeśli teren poniżej również wynosi 10 metrów. Jeśli teren znajduje się 3 metry nad poziomem morza, oznaczenie miejsca będzie widoczne ponad poziomem ponad 7 metrów. Typowym zastosowaniem tego trybu jest rozmieszczanie samolotów.
<gx:altitudeMode>
Rozszerzenie KML w przestrzeni nazw rozszerzeń Google umożliwiające określanie wysokości nad poziomem morza. Wartości:
  • relativeToSeaFloor – wartość wysokości podaje się w metrach nad poziomem morza. Jeśli punkt leży nad ziemią, a nie morzem, wysokość jest interpretowana jako położona nad ziemią.
  • clampToSeaFloor – specyfikacja wysokości jest ignorowana, a punkt znajduje się na dnie morza. Jeśli punkt znajduje się na ziemi, a nie na morzu, jest on umieszczany na poziomie gruntu.
<współrzędne>(wymagane)
Pojedyncza krotka składająca się z wartości zmiennoprzecinkowych długości, szerokości i wysokości (w tej kolejności). Wartości długości i szerokości geograficznej są podane w stopniach, gdzie:
  • długość geograficzna ≥ -180 i <= 180
  • szerokość ≥ –90 i ≤ 90
  • wartości wysokości (opcjonalnie) w metrach powyżej poziomu morza.
Nie umieszczaj spacji między 3 wartościami, które opisują współrzędne.

Przykład

<Point>
  <coordinates>-90.86948943473118,48.25450093195546</coordinates>
</Point>

Rozszerza

Zawiera

<wielokąt>

Składnia

<Polygon id="ID">
  <!-- specific to Polygon -->
  <extrude>0</extrude>                       <!-- boolean -->
  <tessellate>0</tessellate>                 <!-- boolean -->
  <altitudeMode>clampToGround</altitudeMode>
        <!-- kml:altitudeModeEnum: clampToGround, relativeToGround, or absolute -->
        <!-- or, substitute gx:altitudeMode: clampToSeaFloor, relativeToSeaFloor -->
  <outerBoundaryIs>
    <LinearRing>
      <coordinates>...</coordinates>         <!-- lon,lat[,alt] -->
    </LinearRing>
  </outerBoundaryIs>
  <innerBoundaryIs>
    <LinearRing>
      <coordinates>...</coordinates>         <!-- lon,lat[,alt] -->
    </LinearRing>
  </innerBoundaryIs>
</Polygon>

Opis

Wielokąt jest definiowany przez granicę zewnętrzną i 0 lub więcej granic wewnętrznych. Te granice są natomiast określone przez linie linearne. Po wysunięciu wielokąta jego granice są połączone z podłożem w celu utworzenia dodatkowych wielokątów, przez co wyglądają one jak budynek lub pudełko. Wysuwane wielokąty używają <PolyStyle> jako koloru, trybu kolorów i wypełnienia.

W przypadku wielokątów <współrzędne> muszą być określone w lewo. Wielokąty są zgodnie z prawą, zgodnie z którą palce prawej ręki są umieszczone w kierunku, w którym zostały określone współrzędne, w kierunku kciuka w ogólnym kierunku geometrycznym dla wielokąta. (W grafice 3D normalne obiekty geometryczne są używane do oświetlenia i wyróżniania punktów od przedniej części wielokąta). Ponieważ Google Earth wypełnia tylko przednią bok wielokąta, pożądany efekt można osiągnąć tylko w przypadku, gdy współrzędne są podane w odpowiedniej kolejności. W przeciwnym razie wielokąt będzie szary.

Uwaga: w Google Earth wielokąt z parametrem <altitudeMode> ustawionym na clampToGround jest obserwowany z wierszami stałymi, ale pierścień liniowy (osobny w obrębie) <altitudeMode> o clampToGround jest liniowy.

Elementy typowe dla wielokąta

<wytnij>
Wartość logiczna. Określa, czy połączyć wielokąt z ziemią. Aby wysunąć wielokąt, tryb wysokości musi mieć wartość relativeToGround, relativeToSeaFloor lub absolute. Wytłaczane są tylko wierzchołki, a nie sama geometria (np. prostokąt zmienia się w ramkę z pięcioma ścianami). Wierzchołki wielokąta są wyśrodkowane w środkowej części kuli ziemskiej.
<tesselluj>
W polu Polygon nie używa tego pola. Aby umożliwić wielokątowi podążanie za terenem (tzn. w celu włączenia sprzedaży detalicznej), określ tryb wysokości clampToGround lub clampToSeaFloor.
<trybu wysokości>
Określa sposób interpretowania komponentów wysokość w elemencie <współrzędne>. Możliwe wartości:
  • clampToGround – (domyślnie) wskazuje, że zignorujesz specyfikację wysokości (na przykład w tagu <współrzędne>).
  • relativeToGround – określa wysokość elementu względem rzeczywistego wysokości terenu w konkretnej lokalizacji. Jeśli na przykład wysokość gruntu określona na poziomie lokalizacji jest dokładnie na poziomie morza, a wysokość punktu jest ustawiona na 9 metrów, w przypadku tego trybu wysokość ikony punktu orientacyjnego jest ustawiona na 9 metrów. Jeśli jednak ta sama współrzędna jest ustawiona na miejscu, w którym wysokość gruntu wynosi 10 metrów nad poziomem morza, wysokość wynosi 19 metrów. Ten tryb jest typowy do umieszczania kijków telefonicznych i wyciągu narciarskiego.
  • bezwzględne – określa wysokość współrzędnej względem poziomu morza, niezależnie od rzeczywistego poziomu terenu pod elementem. Jeśli na przykład w przypadku trybu bezwzględnego określisz wysokość współrzędnej na 10 metrów, ikona oznaczenia miejsca będzie wyświetlana na poziomie gruntu, jeśli teren poniżej również wynosi 10 metrów. Jeśli teren znajduje się 3 metry nad poziomem morza, oznaczenie miejsca będzie widoczne ponad poziomem ponad 7 metrów. Typowym zastosowaniem tego trybu jest rozmieszczanie samolotów.
<gx:altitudeMode>
Rozszerzenie KML w przestrzeni nazw rozszerzeń Google umożliwiające określanie wysokości nad poziomem morza. Wartości:
  • relativeToSeaFloor – interpretuje wartość <height} jako wartość w metrach nad poziomem morza. Jeśli punkt leży nad ziemią, a nie morzem, wysokość jest interpretowana jako położona nad ziemią.
  • clampToSeaFloor – specyfikacja wysokości jest ignorowana, a punkt znajduje się na dnie morza. Jeśli punkt znajduje się na ziemi, a nie na morzu, jest on umieszczany na poziomie gruntu.
<outerBoundaryIs>(wymagane)
Zawiera element <LinearRing>.
<granica_wewnętrzna>
Zawiera element <LinearRing>. Wielokąt może zawierać wiele elementów <innerBoundaryIs>, które tworzą wiele wycięcia w obrębie wielokąta.

Przykład

<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2">
<Document>
<name>Polygon.kml</name>
<open>0</open>
<Placemark>
<name>hollow box</name>
<Polygon>
<extrude>1</extrude>
<altitudeMode>relativeToGround</altitudeMode>
<outerBoundaryIs>
<LinearRing>
<coordinates>
-122.366278,37.818844,30
-122.365248,37.819267,30
-122.365640,37.819861,30
-122.366669,37.819429,30
-122.366278,37.818844,30
</coordinates>
</LinearRing>
</outerBoundaryIs>
<innerBoundaryIs>
<LinearRing>
<coordinates>
-122.366212,37.818977,30
-122.365424,37.819294,30
-122.365704,37.819731,30
-122.366488,37.819402,30
-122.366212,37.818977,30
</coordinates>
</LinearRing>
</innerBoundaryIs>
</Polygon>
</Placemark>
</Document>
</kml>

Rozszerza

Zawiera

<Styl Poly>

Składnia

<PolyStyle id="ID">
  <!-- inherited from ColorStyle -->
  <color>ffffffff</color>            <!-- kml:color -->
  <colorMode>normal</colorMode>      <!-- kml:colorModeEnum: normal or random -->

  <!-- specific to PolyStyle -->
  <fill>1</fill>                     <!-- boolean -->
  <outline>1</outline>               <!-- boolean -->
</PolyStyle>

Opis

Określa styl rysowania dla wszystkich wielokątów, w tym wielokątów rozciągających się (takich jak ściany budynków) i wyciągów linii (które wyglądają jak solidne ogrodzenia).

Elementy typowe dla PolyStyle

<wypełnij>
Wartość logiczna. Określa, czy wypełnić wielokąt.
<outline>
Wartość logiczna. Określa, czy narysować wielokąt. Kontury wielokątów używają bieżącego stylu Linia.

Przykład

<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2">
<Document>
<name>PolygonStyle.kml</name>
<open>1</open>
<Style id="examplePolyStyle">
<PolyStyle>
<color>ff0000cc</color>
<colorMode>random</colorMode>
</PolyStyle>
</Style>
<Placemark>
<name>hollow box</name>
<styleUrl>#examplePolyStyle</styleUrl>
<Polygon>
<extrude>1</extrude>
<altitudeMode>relativeToGround</altitudeMode>
<outerBoundaryIs>
<LinearRing>
<coordinates>
-122.3662784465226,37.81884427772081,30 -122.3652480684771,37.81926777010555,30 -122.365640222455,37.81986126286519,30 -122.36666937925,37.81942987753481,30 -122.3662784465226,37.81884427772081,30 </coordinates>
</LinearRing>
</outerBoundaryIs>
<innerBoundaryIs>
<LinearRing>
<coordinates>
-122.366212593918,37.81897719083808,30 -122.3654241733188,37.81929450992014,30 -122.3657048517827,37.81973175302663,30 -122.3664882465854,37.81940249291773,30 -122.366212593918,37.81897719083808,30 </coordinates>
</LinearRing>
</innerBoundaryIs>
</Polygon>
</Placemark>
</Document>
</kml>

Rozszerza

Zawiera

<Region>

Składnia

<Region id="ID"> 
  <LatLonAltBox>
    <north></north>                            <!-- required; kml:angle90 -->
    <south></south>                            <!-- required; kml:angle90 -->
    <east></east>                              <!-- required; kml:angle180 -->
    <west></west>                              <!-- required; kml:angle180 -->
    <minAltitude>0</minAltitude>               <!-- float -->
    <maxAltitude>0</maxAltitude>               <!-- float -->
    <altitudeMode>clampToGround</altitudeMode>
        <!-- kml:altitudeModeEnum: clampToGround, relativeToGround, or absolute -->
        <!-- or, substitute gx:altitudeMode: clampToSeaFloor, relativeToSeaFloor -->
  </LatLonAltBox>
  <Lod>
    <minLodPixels>0</minLodPixels>             <!-- float -->
    <maxLodPixels>-1</maxLodPixels>            <!-- float -->
    <minFadeExtent>0</minFadeExtent>           <!-- float -->
    <maxFadeExtent>0</maxFadeExtent>           <!-- float -->
  </Lod>
</Region> 

Opis

Region zawiera ramkę ograniczającą (<LatLonAltBox>), która opisuje obszar zainteresowań zdefiniowany przez współrzędne geograficzne i wysokości. Ponadto region zawiera zakres Lod (level details) (Lod>), który określa zakres poprawności powiązanego regionu pod kątem przewidywanego rozmiaru ekranu. Uznaje się, że region jest aktywny, gdy granica mieści się w widoku użytkownika i spełnione są wymagania dotyczące Lodów. Obiekty powiązane z regionem są rysowane tylko wtedy, gdy region jest aktywny. Gdy element <viewRefreshMode> ma wartość onRegion, link lub ikona są wczytywane tylko wtedy, gdy region jest aktywny. Więcej informacji znajdziesz na stronie „Tematy w KML” w artykule Regiony. W hierarchii kontenerowej lub NetworkLink w obliczeniach używany jest region, który jest najbliżej elementu nadrzędnego w hierarchii.

Elementy właściwe dla regionu

<LatLonAltBox>(wymagane)
Obramowanie ograniczające obszar zainteresowań zdefiniowany przez współrzędne geograficzne i wysokości. Wartości domyślne i wymagane pola:
<altitudeMode> lub <gx:altitudeMode>
Możliwe wartości dla tagu <altitudeMode> to clampToGround, relativeToGround i absolute. Możliwe wartości atrybutu <gx:altitudeMode> to clampToSeaFloor i relativeToSeaFloor. Zobacz też <LatLonBox>.
<minAheight>
Określona w metrach (i wpływa na nią specyfikacja trybu wysokości).
<maks.Wysokość>
Określona w metrach (i wpływa na nią specyfikacja trybu wysokości).
<north> (wymagany)
Określa szerokość geograficzną północnej krawędzi ramki ograniczającej (w stopniach dziesiętnych) od 0 do ±90.
<south> (wymagany)
Określa szerokość geograficzną południowej krawędzi ramki ograniczającej w zakresie dziesiętnym od 0 do ±90.
<east> (wymagane)
Określa długość wschodniego brzegu ramki ograniczającej (w stopniach dziesiętnych od 0 do ±180).
<west> (wymagany)
Określa długość zachodniego brzegu ramki ograniczającej (w stopniach dziesiętnych od 0 do ±180).
<LatLonAltBox>
<north>43.374</north>
<south>42.983</south>
<east>-0.335</east>
<west>-1.423</west>
<minAltitude>0</minAltitude>
<maxAltitude>0</maxAltitude>
</LatLonAltBox>
<Lod>
Lod to skrót od Level of Detail (Poziom szczegółów). <Lod> określa rozmiar wyświetlanego na ekranie obszaru wymaganego do tego, by region został uznany za „aktywny”. Określa również rozmiar rampy pikselowej używany do zanikania (od przezroczystych do nieprzezroczystych) i zanikania (od nieprzezroczystych do przezroczystych). Poniżej znajdziesz graficzną reprezentację tych parametrów.
<Lod>
<minLodPixels>256</minLodPixels>
<maxLodPixels>-1</maxLodPixels>
<minFadeExtent>0</minFadeExtent>
<maxFadeExtent>0</maxFadeExtent>
</Lod>
<minLodPixels> (wymagany)

Określa kwadrat w obszarze ekranu z bokami określonej wartości w pikselach. 128 definiuje na przykład kwadrat o wymiarach 128 x 128 pikseli. Pole ograniczające regionu musi być większe niż ten kwadrat (i mniejsze niż kwadrat maxLodPixels), aby region był aktywny.

Więcej informacji znajdziesz w rozdziale na temat pracy z regionami w podręczniku programisty oraz w dokumentacji Google Earth Outreach Jak nie przeciążać regionów.

<maxLodPixels>
Pomiar w pikselach ekranu, który odzwierciedla maksymalny limit widoczności w danym regionie. Wartość -1 (domyślnie) to „aktywny do nieskończonego rozmiaru”.
<minFadeExtent>
Odległość, którą zanika geometria, od pełnej nieprzezroczystości do całkowitej przezroczystości. Ta wartość rampy, wyrażona w pikselach ekranu, jest stosowana na minimalnym końcu limitu LOD (widoczności).
<maxFadeExtent>
Odległość, po której zaniknie geometria – od pełnej przezroczystości do całkowitej nieprzezroczystości. Ta wartość rampy, wyrażona w pikselach ekranu, jest stosowana na maksymalną granicę LOD (widoczności).
Na wykresie poniżej widać, czy P = obliczony przewidywany rozmiar pikseli, liczby pokazują:
if (P < minLodPixels)
  opacity=0                                 //#1 in diagram
else if(P < minLodPixels + minFadeExtent)
  opacity=(P - minLodPixels)/minFadeExtent  //#2 in diagram
else if (P < maxLodPixels - maxFadeExtent)
  opacity=1                                 //#3 in diagram
else if (P < maxLodPixels)
  opacity=(maxLodPixels-P)/maxFadeExtent    //#4 in diagram
else
  opacity=0                                 //#5 in diagram
if (P < minLodPixels)
  opacity=0                                 //#1 in diagram
else if(P < minLodPixels + minFadeExtent)
  opacity=(P - minLodPixels)/minFadeExtent  //#2 in diagram
else if (P < maxLodPixels - maxFadeExtent)
  opacity=1                                 //#3 in diagram
else if (P < maxLodPixels)
  opacity=(maxLodPixels-P)/maxFadeExtent    //#4 in diagram
else
  opacity=0                                 //#5 in diagram

Przykład <Region>

<Region>
  <LatLonAltBox>
    <north>50.625</north>
    <south>45</south>
    <east>28.125</east>
    <west>22.5</west>
    <minAltitude>10</minAltitude>
    <maxAltitude>50</maxAltitude>
  </LatLonAltBox>
  <Lod>
    <minLodPixels>128</minLodPixels>
    <maxLodPixels>1024</maxLodPixels>
    <minFadeExtent>128</minFadeExtent>
    <maxFadeExtent>128</maxFadeExtent>
  </Lod>
</Region> 

Rozszerza

Zawiera

<Schemat>

Składnia

<Schema name="string" id="ID">
  <SimpleField type="string" name="string">
    <displayName>...</displayName>            <!-- string -->
  </SimpleField>
</Schema>

Opis

Określa niestandardowy schemat KML, który służy do dodawania niestandardowych danych do funkcji KML. Atrybut „id” jest wymagany i musi być unikalny w pliku KML. <Schema> jest zawsze podrzędny wobec <Document>.

Elementy specyficzne dla schematu

Element schematu zawiera co najmniej 1 element SimpleField. W prostym polu Schemat deklaruje typ i nazwę pola niestandardowego. W tym polu opcjonalnie określa on displayName (przyjazny dla użytkownika formularz ze spacjami i odpowiednimi znakami interpunkcyjnymi używanymi do wyświetlania go w Google Earth).

<SimpleField type="ciąg znaków" name="ciąg">
Deklaracja pola niestandardowego, która musi określać typ oraz nazwę tego pola. Jeśli pominiesz właściwość type lub name, pole zostanie zignorowane. Możesz wybrać jeden z tych typów:
  • tekst
  • int,
  • Uint
  • krótki
  • krótka
  • liczba zmiennoprzecinkowa
  • liczba zmiennoprzecinkowa
  • wartość logiczna
<displayName>
Nazwa, która ma być używana, gdy nazwa pola jest wyświetlana użytkownikowi w Google Earth. Użyj elementu [CDATA], aby pominąć standardowe znaczniki HTML.

Przykład

<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2">
<Document>
<Schema name="TrailHeadType" id="TrailHeadTypeId"> <SimpleField type="string" name="TrailHeadName"> <displayName><![CDATA[<b>Trail Head Name</b>]]></displayName> </SimpleField> <SimpleField type="double" name="TrailLength"> <displayName><![CDATA[<i>The length in miles</i>]]></displayName> </SimpleField> <SimpleField type="int" name="ElevationGain"> <displayName><![CDATA[<i>change in altitude</i>]]></displayName> </SimpleField> </Schema>
</Document>
</kml>

Rozszerza

To jest element główny.

Zawiera

Zobacz również

<ScreenOverlay>

Składnia

<ScreenOverlay id="ID">
  <!-- inherited from Feature element -->
  <name>...</name>                      <!-- string -->
  <visibility>1</visibility>            <!-- boolean -->
  <open>0</open>                        <!-- boolean -->
  <atom:author>...<atom:author>         <!-- xmlns:atom -->
  <atom:link href=" "/>                <!-- xmlns:atom -->
  <address>...</address>                <!-- string -->
  <xal:AddressDetails>...</xal:AddressDetails>  <!-- xmlns:xal -->
<phoneNumber>...</phoneNumber> <!-- string -->
<Snippet maxLines="2">...</Snippet> <!-- string --> <description>...</description> <!-- string --> <AbstractView>...</AbstractView> <!-- Camera or LookAt --> <TimePrimitive>...</TimePrimitive> <styleUrl>...</styleUrl> <!-- anyURI --> <StyleSelector>...</StyleSelector> <Region>...</Region> <Metadata>...</Metadata> <!-- deprecated in KML 2.2 --> <ExtendedData>...</ExtendedData> <!-- new in KML 2.2 --> <!-- inherited from Overlay element --> <color>ffffffff</color> <!-- kml:color --> <drawOrder>0</drawOrder> <!-- int --> <Icon>...</Icon> <!-- specific to ScreenOverlay --> <overlayXY x="double" y="double" xunits="fraction" yunits="fraction"/> <!-- vec2 --> <!-- xunits and yunits can be one of: fraction, pixels, or insetPixels --> <screenXY x="double" y="double" xunits="fraction" yunits="fraction"/> <!-- vec2 --> <rotationXY x="double" y="double" xunits="fraction" yunits"fraction"/> <!-- vec2 --> <size x="double" y="double" xunits="fraction" yunits="fraction"/> <!-- vec2 --> <rotation>0</rotation> <!-- float --> </ScreenOverlay>

Opis

Ten element rysuje obraz nakładany na ekran. Przykładowe zastosowania Nakładek ekranu to kompasy, logo i wyświetlacze repozytorium. Rozmiar nakładki ekranu jest określany przez element <size>. Położenie nakładki jest obsługiwane poprzez przyporządkowanie punktu na zdjęciu określonego przez <overlayXY> do punktu na ekranie określonego przez <screenXY>. Następnie obraz jest obrócony o <rotation> stopni wokół punktu względem ekranu określonego przez <rottationXY>.

Element podrzędny tagu <href> elementu <Icon> określa obraz, który zostanie użyty jako nakładka. Może to być lokalny system plików lub serwer WWW. Jeśli ten element zostanie pominięty lub nie będzie zawierać tagu <href>, zostanie narysowany prostokąt z zastosowaniem koloru i rozmiaru zdefiniowanego przez nakładkę ekranu.

Elementy specyficzne dla nakładki ekranowej

<nakładkaXY>
Określa punkt na (lub poza) obrazie nakładki, który jest zmapowany na współrzędne ekranu (<screenXY>). Wymaga wartości x i y oraz jednostek tych wartości.
Wartości x i y można określić na 3 różne sposoby: jako piksele ("pixels"), jako ułamki obrazu ("fraction") lub jako piksele wstawione("insetPixels"), czyli przesunięcie w pikselach w prawym górnym rogu obrazu. Pozycje x i y można określać na różne sposoby, np. x w pikselach, a y może być ułamkiem. Punkt początkowy układu współrzędnych znajduje się w lewym dolnym rogu obrazu.
  • x – liczba pikseli, komponent ułamkowy obrazu lub wstawianie pikseli wskazujące komponent x punktu na obrazie nakładki.
  • y – liczba pikseli, komponent ułamkowy obrazu lub wstawianie pikseli wskazujące komponent y punktu na nakładce.
  • xunits – jednostki, w których określono wartość x. Wartość "fraction" oznacza, że wartość x jest ułamkiem obrazu. Wartość "pixels" wskazuje wartość x w pikselach. Wartość "insetPixels" wskazuje wcięcie z prawej krawędzi obrazu.
  • yunits – jednostki, w których określono wartość y. Wartość "fraction" oznacza, że wartość y jest ułamkiem obrazu. Wartość "pixels" oznacza y w pikselach. Wartość "insetPixels" wskazuje wcięcie od górnej krawędzi obrazu.
<ekranXY>
Określa punkt względem punktu początkowego ekranu, na który zostanie zmapowany obraz nakładany. Wartości x i y można określić na 3 różne sposoby: jako piksele ("pixels"), jako ułamki ekranu ("fraction") lub jako wstawione piksele ("insetPixels"), czyli przesunięcie w pikselach w prawym górnym rogu ekranu. Pozycje x i y można określać na różne sposoby, np. x w pikselach, a y może być ułamkiem. Punkt początkowy układu współrzędnych znajduje się w lewym dolnym rogu ekranu.
  • x – liczba pikseli, cząstkowa część ekranu lub wstawianie pikseli wskazujące komponent x punktu na ekranie.
  • y – liczba pikseli, ułamek ekranu lub wstawianie pikseli wskazujące komponent y punktu na ekranie.
  • xunits – jednostki, w których określono wartość x. Wartość "fraction" wskazuje, że wartość x to ułamek ekranu. Wartość "pixels" wskazuje wartość x w pikselach. Wartość "insetPixels" wskazuje wcięcie z prawej krawędzi ekranu.
  • yunits – jednostki, w których określono wartość y. Wartość ułamek wskazuje, że wartość y to ułamek ekranu. Wartość "pixels" oznacza y w pikselach. Wartość "insetPixels" wskazuje wcięcie od górnej krawędzi ekranu.
Na przykład <screenXYx=".5" y=".5" xunits="fraction" yunits="fraction"/> wskazuje punkt na środku ekranu.
Oto przykłady:

Wyśrodkuj obraz:

<ScreenOverlay>
  <overlayXY x="0.5" y="0.5" xunits="fraction" yunits="fraction"/>
  <screenXY x="0.5" y="0.5" xunits="fraction" yunits="fraction"/>
</ScreenOverlay>

Umieść obraz w lewym górnym rogu:

<ScreenOverlay>
  <overlayXY x="0" y="1" xunits="fraction" yunits="fraction"/>
  <screenXY x="0" y="1" xunits="fraction" yunits="fraction"/>
</ScreenOverlay> 

Umieść obraz po prawej stronie ekranu:

<ScreenOverlay>
  <overlayXY x="1" y="1" xunits="fraction" yunits="fraction"/>
  <screenXY x="1" y="1" xunits="fraction" yunits="fraction"/>
</ScreenOverlay>  
<rotacjaXY>
Punkt względem ekranu, na którym obrócisz nakładkę ekranu.
<rozmiar>
Określa rozmiar obrazu nakładki nakładki ekranowej.
  • Wartość −1 wskazuje, że należy użyć wymiaru natywnego
  • Wartość 0 oznacza zachowanie współczynnika proporcji.
  • Wartość n określa wartość wymiaru
Przykład:

Aby wymusić zachowanie oryginalnych wymiarów x i y, ustaw wartość na –1:

<size x="-1" y="-1" xunits="fraction" yunits="fraction"/> 

Aby wymusić wymiar poziomy, ale zajmować 20% powierzchni ekranu w pionie:

<size x="-1" y="0.2" xunits="fraction" yunits="fraction"/> 

Aby wymusić zmianę rozmiaru obrazu na 100 x 500 pikseli:

<size x="100" y="500" xunits="pixels" yunits="pixels"/> 
<rotacja>
Wskazuje kąt obrotu obiektu nadrzędnego. Wartość 0 oznacza brak rotacji. Wartość to kąt w kierunku przeciwnym do północy, który zaczyna się od północy. Użyj ±180, by wskazać obrót obiektu nadrzędnego od 0. Środek <rotacji>, jeśli nie jest określony (.5,.5), jest określony w <rotacjiXY>.

Przykład

W poniższym przykładzie obraz umieszcza się dokładnie na środku ekranu z zastosowaniem oryginalnej szerokości i wysokości oraz jego proporcji.

<ScreenOverlay id="khScreenOverlay756">
  <name>Simple crosshairs</name>
  <description>This screen overlay uses fractional positioning
   to put the image in the exact center of the screen</description>
  <Icon>
    <href>http://myserver/myimage.jpg</href>
  </Icon>
  <overlayXY x="0.5" y="0.5" xunits="fraction" yunits="fraction"/>
  <screenXY x="0.5" y="0.5" xunits="fraction" yunits="fraction"/>
  <rotation>39.37878630116985</rotation>
  <size x="0" y="0" xunits="pixels" yunits="pixels"/>
</ScreenOverlay>

Rozszerza

Zawiera

<Styl>

Składnia

<Style id="ID">
<!-- extends StyleSelector -->

<!-- specific to Style -->
  <IconStyle>...</IconStyle>
  <LabelStyle>...</LabelStyle>
  <LineStyle>...</LineStyle>
  <PolyStyle>...</PolyStyle>
  <BalloonStyle>...</BalloonStyle>
  <ListStyle>...</ListStyle>
</Style>

Opis

Styl określa możliwą do adresowania grupę stylów, do której mogą się odwoływać style i funkcje. Style wpływają na sposób wyświetlania elementów geometrycznych w przeglądarce 3D oraz na wygląd funkcji w panelu Miejsca w widoku listy. Style współdzielone są zbierane w pliku <Document> i muszą mieć dla nich identyfikator, aby mogły się do nich odwoływać przez poszczególne funkcje, które ich używają.

Użyj atrybutu id, aby odwoływać się do stylu z elementu <styleUrl>.

Przykład

<Document>
  <!-- Begin Style Definitions -->
  <Style id="myDefaultStyles">
    <IconStyle>
      <color>a1ff00ff</color>
      <scale>1.399999976158142</scale>
      <Icon>
        <href>http://myserver.com/icon.jpg</href>
      </Icon>
    </IconStyle>
    <LabelStyle>
      <color>7fffaaff</color>
      <scale>1.5</scale>
    </LabelStyle>
    <LineStyle>
      <color>ff0000ff</color>
      <width>15</width>
    </LineStyle>
    <PolyStyle>
      <color>7f7faaaa</color>
      <colorMode>random</colorMode>
    </PolyStyle>
  </Style>
  <!-- End Style Definitions -->
  <!-- Placemark #1 -->
  <Placemark>
    <name>Google Earth - New Polygon</name>
    <description>Here is some descriptive text</description>
    <styleUrl>#myDefaultStyles</styleUrl>
    . . .
  </Placemark>
  <!-- Placemark #2 -->
  <Placemark>
    <name>Google Earth - New Path</name>
    <styleUrl>#myDefaultStyles</styleUrl>
      . . . .
  </Placemark>
</Document>
</kml>

Rozszerza

Zawiera

Elementy charakterystyczne dla stylu

<StylMap>

Składnia

<StyleMap id="ID">
  <!-- extends StyleSelector -->
  <!-- elements specific to StyleMap -->
  <Pair id="ID">
    <key>normal</key>              <!-- kml:styleStateEnum:  normal or highlight -->
    <styleUrl>...</styleUrl> or <Style>...</Style>
  </Pair>
</StyleMap>

Opis

Element <StyleMap> określa 2 różne style. Element <StyleMap> jest używany zazwyczaj do określenia osobnych i wyróżnionych stylów dla oznaczenia miejsca, aby wersja podświetlona wyświetlała się, gdy użytkownik najedzie na ikonę w Google Earth.

Elementy charakterystyczne dla mapy stylu

<Parowanie>(wymagane)
Definiuje parę klucz/wartość, która mapuje tryb (normalny lub wyróżniony) na wstępnie zdefiniowany <styleUrl>. <para> zawiera 2 elementy (wymagane oba):
  • <key>, który identyfikuje klucz
  • <styleUrl> lub <Style>, który odwołuje się do stylu. W tagu <styleUrl> używane są elementy stylu lokalnego, które są lokalne w dokumencie KML, używane jest proste # odwołanie. W przypadku stylów znajdujących się w plikach zewnętrznych użyj pełnego adresu URL wraz z # odwołaniami. Przykład:
<Pair> 
  <key>normal</key>
  <styleUrl>http://myserver.com/populationProject.xml#example_style_off</styleUrl>
</Pair> 

Przykład

<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2">
<Document>
<name>StyleMap.kml</name>
<open>1</open>
<Style id="normalState">
<IconStyle>
<scale>1.0</scale>
<Icon>
<href>http://maps.google.com/mapfiles/kml/pal3/icon55.png</href>
</Icon>
</IconStyle>
<LabelStyle>
<scale>1.0</scale>
</LabelStyle>
</Style>
<Style id="highlightState">
<IconStyle>
<Icon>
<href>http://maps.google.com/mapfiles/kml/pal3/icon60.png</href>
</Icon>
<scale>1.1</scale>
</IconStyle>
<LabelStyle>
<scale>1.1</scale>
<color>ff0000c0</color>
</LabelStyle>
</Style>
<StyleMap id="styleMapExample">
<Pair>
<key>normal</key>
<styleUrl>#normalState</styleUrl>
</Pair>
<Pair>
<key>highlight</key>
<styleUrl>#highlightState</styleUrl>
</Pair>
</StyleMap>
<Placemark>
<name>StyleMap example</name>
<styleUrl>#styleMapExample</styleUrl>
<Point>
<coordinates>-122.368987,37.817634,0</coordinates>
</Point>
</Placemark>
</Document>
</kml>

Rozszerza

Zawiera

<Selektor stylu>

Składnia

<!-- abstract element; do not create -->
<!-- StyleSelector id="ID" -->                 <!-- Style,StyleMap -->
<!-- /StyleSelector -->

Description

To jest element abstrakcyjny i nie można go używać bezpośrednio w pliku KML. Jest to podstawowy typ elementów <Style> i <StyleMap>. Element StyleMap wybiera styl na podstawie bieżącego trybu oznaczenia miejsca. Element pochodzący z selektora stylu jest jednoznacznie identyfikowany przez parametr id i url.

Elementy typowe dla selektora stylu

Ten abstrakcyjny element nie zawiera żadnych elementów podrzędnych.

Rozszerza

Rozszerzono przez

<Czasochłonne>

Składnia

<!-- abstract element; do not create -->
<!-- TimePrimitive id="ID" -->            <!-- TimeSpan,TimeStamp -->
  <!-- extends Object -->
<!-- /TimePrimitive -->

Opis

To jest element abstrakcyjny i nie można go używać bezpośrednio w pliku KML. Ten element jest rozszerzany przez elementy <TimeSpan> i <TimeStamp>.

Rozszerza

Rozszerzono przez

<Przedział czasu>

Składnia

<TimeSpan id="ID">
  <begin>...</begin>     <!-- kml:dateTime -->
  <end>...</end>         <!-- kml:dateTime -->
</TimeSpan>

Opis

Określa zakres czasu ograniczony do dateTimes.

Jeśli brakuje znaku <begin> lub <end>, koniec tego okresu nie jest powiązany (zobacz przykład poniżej).

Wartość dateTime jest zdefiniowana zgodnie z czasem schematu XML (zobacz Schemat XML – część 2: typy danych w wersji 2). Wartość może być wyrażona w postaci rrrr-mm-ddThh:mm:ss.ssszzzzzz, gdzie T to separator daty i godziny, a strefa czasowa to Z (for UTC) lub zzzzzz, która odpowiada ±hh:mm w odniesieniu do UTC. Dodatkowo wartość może być wyrażona tylko jako data. Przykłady znajdziesz w sekcji <TimeStamp>.

Elementy charakterystyczne dla przedziału czasu

<początek>
Opisuje początek okresu w danym momencie. Jeśli nie ma takiego warunku, początek okresu jest nieograniczony.
<end>
Opisz zakończenie przedziału czasowego. Jeśli nie ma takiego warunku, koniec okresu nie jest nieograniczony.

Przykład

Poniższy przykład pokazuje okres reprezentujący stan Kolorado. Plik zawiera tylko tag <begin>, bo 1 sierpnia 1876 roku został stanem Kolorado, który do dziś jest stanem:

<Placemark>
  <name>Colorado</name>
  .
  .
  .
  <TimeSpan>
    <begin>1876-08-01</begin>
  </TimeSpan>
</Placemark>

Rozszerza

Zawiera

<sygnatura czasowa>

Składnia

<TimeStamp id="ID">
  <when>...</when>      <!-- kml:dateTime -->
</TimeStamp> 

Opis

Odzwierciedla pojedynczą minutę. To prosty element i nie zawiera elementów potomnych. Jej wartość to dateTime, określona w czasie XML (patrz XML Schema Part 2: Datatypes Second Edition). Dokładność sygnatury czasowej jest określana przez wartość dateTime w elemencie <when>.

Elementy charakterystyczne dla sygnatury czasowej

<kiedy>
Określa moment w czasie. Wartością jest dateTime, która może być jedną z tych wartości:
  • dateTime daje drugą rozdzielczość
  • date – data rozwiązania problemu
  • gYearMonth oznacza miesiąc
  • gYear podaje rok w rozdzielczości

Poniższe przykłady pokazują różne rozdzielczości wartości <when>:

  • gYear (RRRR)
<TimeStamp>
  <when>1997</when>
</TimeStamp>
  • gYearMonth (RRRR-MM)
<TimeStamp>
  <when>1997-07</when>
</TimeStamp> 
  • date (RRRR-MM-DD),
<TimeStamp>
  <when>1997-07-16</when>
</TimeStamp> 
  • dateTime (RRRR-MM-DDThh:mm:ssZ)
    Tu T jest separatorem między kalendarzem a zapisem godzinowym, a Z to UTC. (sekundy są wymagane).
<TimeStamp>
  <when>1997-07-16T07:30:15Z</when>
</TimeStamp>
  • dateTime (RRRR-MM-DDThh:mm:sszzzzzz)
    W tym przykładzie podany jest czas lokalny, a następnie ± konwersja na czas UTC.
<TimeStamp>
  <when>1997-07-16T10:30:15+03:00</when>
</TimeStamp>

Rozszerza

Zawiera

  • dowolny element, który rozszerza <Funkcja>

<gx:TimeSpan> i <gx:TimeStamp>

Ten element jest rozszerzeniem standardu OGC KML 2.2 i jest obsługiwany w Google Earth w wersji 5.0 i nowszych. Więcej informacji

Kopia elementów <TimeSpan> i <TimeStamp> w przestrzeni nazw rozszerzeń. Umożliwia to uwzględnienie wartości czasu w widokach AbstractView (<Camera> i <LookAt>). Wartości czasu są używane do kontrolowania zdjęć historycznych, światła słonecznego oraz widoczności znaczników z sygnaturami czasowymi.

Przykład

<?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>Views with Time</name>
    <open>1</open>
    <description>
      In Google Earth, enable historical imagery and sunlight,
      then click on each placemark to fly to that point in time.
    </description>

    <Placemark>
      <name>Sutro Baths in 1946</name>
      <Camera>
        <gx:TimeStamp>
          <when>1946-07-29T05:00:00-08:00</when>
        </gx:TimeStamp>
        <longitude>-122.518172</longitude>
        <latitude>37.778036</latitude>
        <altitude>221.0</altitude>
        <heading>70.0</heading>
        <tilt>75.0</tilt>
      </Camera>
    </Placemark>

    <Placemark>
      <name>Palace of Fine Arts in 2002</name>
      <Camera>
        <gx:TimeStamp>
          <when>2002-07-09T19:00:00-08:00</when>
        </gx:TimeStamp>
        <longitude>-122.444633</longitude>
        <latitude>37.801899</latitude>
        <altitude>139.629438</altitude>
        <heading>-70.0</heading>
        <tilt>75</tilt>
      </Camera>
    </Placemark>

  </Document>
</kml>

<gx:Zwiedzanie>

Ten element jest rozszerzeniem standardu OGC KML 2.2 i jest obsługiwany w Google Earth w wersji 5.0 i nowszych. Więcej informacji

Składnia

<gx:Tour id="ID">
  <name>...</name>
  <description>...</description>
  <gx:Playlist>

    <!-- any number of gx:TourPrimitive elements -->

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

Opis

<gx:Tour> może zawierać jeden element <gx:Playlist>, który z kolei zawiera uporządkowaną listę elementów gx:TourPrimitive, które definiują wycieczkę w dowolnej przeglądarce KML. Więcej informacji o wycieczkach

Przykład

Liczne przykłady wycieczek są dostępne w rozdziale Turystyka Przewodnika dla programistów KML.

Zawiera

  • gx:Playlista – zawiera dowolną liczbę elementów gx:TourPrimitive. Element <gx:Tour> może zawierać 0 lub 1 element <gx:Playlist>.
    <gx:Tour>
      <gx:Playlist>
        <!-- gx:TourPrimitive -->
          ...
        <!-- /gx:TourPrimitive -->
    
        <!--- Any number of gx:TourPrimitive elements can be included --->
      </gx:Playlist>
    </gx:Tour>

<gx:TourPrimitive>

Ten element jest rozszerzeniem standardu OGC KML 2.2 i jest obsługiwany w Google Earth w wersji 5.0 i nowszych. Więcej informacji

Składnia

<gx:Tour>
  <gx:Playlist>

    <!-- abstract element; do not create -->
    <!-- gx:TourPrimitive -->    <!-- gx:AnimatedUpdate, gx:FlyTo, gx:TourControl, gx:SoundCue, gx:Wait -->
        <!-- extends Object -->
    <!-- /gx:TourPrimitive -->

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

Opis

To jest element abstrakcyjny i nie można go używać bezpośrednio w pliku KML. Ten element jest rozszerzany przez elementy <gx:FlyTo>, <gx:AnimatedUpdate>, <gx:TourControl>, <gx:Wait> i <gx:SoundCue>.

Elementy przedłużone z gx:TourPrimitive zawierają instrukcje dla przeglądarek KML dotyczące wycieczek, w tym informacje o punktach, na które mają się wyświetlić, oraz czas ich trwania, czas oczekiwania, aktualizację funkcji KML i pliki dźwiękowe do odtworzenia.

Te elementy muszą się znajdować w elemencie <gx:Playlist>, który z kolei zawiera element <gx:Tour>.

Przykład

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

  <Document>
    <name>gx:AnimatedUpdate example</name>
    <open>1</open>

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

        <gx:Wait>
          <gx:duration>2.4</gx:duration>  <!-- waiting for the AnimatedUpdate to complete -->
        </gx:Wait>

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

Zawiera

Rozszerzenie

  • <gx:AnimatedUpdate>
  • <gx:FlyTo>
  • <gx:SoundCue>
    <gx:SoundCue id="ID">
      <href>http://www.example.com/audio/trumpets.mp3</href>   <!-- any URI -->
      <gx:delayedStart>0</gx:delayedStart>                     <!-- double -->
    </gx:SoundCue>
    Zawiera element <href> określający plik dźwiękowy do odtworzenia, w formacie MP3, M4A lub AAC. Nie zawiera czasu trwania. Plik dźwiękowy jest odtwarzany równolegle do reszty prezentacji, co oznacza, że kolejny element podstawowy wycieczki ma miejsce natychmiast po osiągnięciu podstawowego elementu <gx:SoundCue>. Jeśli wskażesz inny plik dźwiękowy przed rozpoczęciem odtwarzania pierwszego, pliki zostaną zmieszane. Element <gx:delayedStart> określa opóźnienie rozpoczęcia odtwarzania dźwięku dla określonej liczby sekund, zanim rozpocznie się odtwarzanie pliku.
  • <gx:TourControl>
    <gx:TourControl id="ID">
      <gx:playMode>pause</gx:playMode>    <!-- gx:playModeEnum: pause -->
    </gx:TourControl>
    Zawiera 1 element <gx:playMode>, który umożliwia wstrzymanie wycieczki do momentu, aż użytkownik wykona odpowiednie działanie.
  • <gx:Wait>
    <gx:Wait id="ID">
      <gx:duration>0.0</gx:duration>    <!-- double -->
    </gx:Wait>
    Aparat pozostaje nieruchomy w ostatnim zdefiniowanym gx:AbstractView przez liczbę sekund określoną przed odtworzeniem następnego gx:TourPrimitive. Pamiętaj, że oczekiwanie nie powoduje wstrzymania osi czasu – w trakcie oczekiwania kamery kamera odtwarza teraz pliki dźwiękowe i aktualizacje animowane.

Rozszerza

<gx:Track>

Ten element jest rozszerzeniem standardu OGC KML 2.2 i jest obsługiwany w Google Earth w wersji 5.2 i nowszych. Więcej informacji

Składnia

<gx:Track id="ID">
  <!-- specific to Track -->
  <altitudeMode>clampToGround</altitudeMode>
      <!-- kml:altitudeModeEnum: clampToGround, relativeToGround, or absolute -->
      <!-- or, substitute gx:altitudeMode: clampToSeaFloor, relativeToSeaFloor -->
  <when>...</when>                         <!-- kml:dateTime -->
  <gx:coord>...</gx:coord>                 <!-- string -->
  <gx:angles>...</gx:angles>               <!-- string -->
  <Model>...</Model>
  <ExtendedData>
    <SchemaData schemaUrl="anyURI">
      <gx:SimpleArrayData kml:name="string">
        <gx:value>...</gx:value>            <!-- string -->
      </gx:SimpleArrayData>
    <SchemaData>
  </ExtendedData>
</gx:Track>

Opis

Ścieżka opisuje, jak obiekt porusza się po świecie w danym okresie. Ta funkcja umożliwia utworzenie w programie Google Earth jednego widocznego obiektu (ikony punktu lub modelu), który koduje wiele pozycji tego samego obiektu wiele razy. W Google Earth suwak czasu umożliwia użytkownikowi przesunięcie widoku w czasie, co animuje położenie obiektu.

Element gx:MultiTrack służy do gromadzenia wielu ścieżek w jedną jednostkę koncepcyjną z jedną powiązaną ikoną (lub modelem) poruszającą się po ścieżce. Ta funkcja jest przydatna, jeśli masz kilka ścieżek dla tego samego obiektu rzeczywistego. Element <gx:interpolate> wartości logicznej w <gx:MultiTrack> określa, czy interpolacja między ścieżkami w wielu ścieżkach. Jeśli ta wartość wynosi 0, punkt lub model zatrzymuje się na końcu jednej ścieżki i przechodzi do początku następnej. Jeśli na przykład chcesz, by dane oznaczenie miejsca odzwierciedlało Twoje podróże w 2 dniach, a jednostka GPS była wyłączona na 4 godziny w tym okresie, możesz pokazać nieregularność między punktami, w których jednostka została wyłączona, a następnie włączona ponownie. Jeśli wartość tagu <gx:interpolate> wynosi 1, wartości między końcem pierwszej ścieżki a początkiem następnej ścieżki są interpolowane, aby ścieżka była wyświetlana jako jedna ścieżka ciągła.

Informacje na temat importowania danych GPS do Google Earth znajdziesz w Przewodniku użytkownika Google Earth.

Dlaczego utwory są przydatne?

Wcześniejsze wersje KML (przed Google Earth 5.2) umożliwiają powiązanie elementu czasu z dowolną funkcją (oznaczeniem miejsca, nawierzchnią itd.). Z daną funkcją możesz jednak powiązać tylko 1 element czasu. Ścieżki to skuteczniejszy sposób na powiązanie danych czasowych z widocznymi funkcjami, ponieważ tworzysz tylko jedną funkcję, która może być powiązana z wieloma elementami w czasie, gdy obiekt porusza się w przestrzeni.

Dodatkowo element śledzenia jest bardziej zaawansowany niż poprzedni mechanizm (opisany w rozdziale Time and animacji w przewodniku dla programistów KML), ponieważ element <Track> zapewnia mechanizm interpolacji położenia obiektu na ścieżce. Dzięki tej nowej funkcji Google Earth wyświetla w czasie wykres przedstawiający wysokość i prędkości (oraz dane niestandardowe, jeśli są dostępne).

Dane składowe

Jeśli brakuje niektórych danych dla pozycji na ścieżce, można podać puste tagi <coord/> (<coord></coord>) lub <angles/> (<angles></angles>), aby zrównoważyć tablice. Pusty tag <coord/> lub <angles/> wskazuje, że dla danego punktu danych nie ma takich danych, a wartość powinna być interpolowana między 2 najbardziej określonymi punktami danych. Dotyczy to też danych ExtendedData w przypadku ścieżek. Każdy element z wyjątkiem <when> może być pusty i poddany interpolacji między 2 dobrze określonymi elementami.

Elementy specyficzne dla śledzenia

<trybu wysokości>
Określa sposób interpretowania komponentów wysokość w elemencie <współrzędne>. Możliwe wartości:
  • clampToGround – (domyślnie) wskazuje, że ma zignorować specyfikację wysokości (na przykład w tagu <gx:coord>).
  • relativeToGround – określa wysokość elementu względem rzeczywistego wysokości terenu w konkretnej lokalizacji. Jeśli na przykład wysokość gruntu określona na poziomie lokalizacji jest dokładnie na poziomie morza, a wysokość punktu jest ustawiona na 9 metrów, w przypadku tego trybu wysokość ikony punktu orientacyjnego jest ustawiona na 9 metrów. Jeśli jednak ta sama współrzędna jest ustawiona na miejscu, w którym wysokość gruntu wynosi 10 metrów nad poziomem morza, wysokość wynosi 19 metrów.
  • bezwzględne – określa wysokość współrzędnej względem poziomu morza, niezależnie od rzeczywistego poziomu terenu pod elementem. Jeśli na przykład w przypadku trybu bezwzględnego określisz wysokość współrzędnej na 10 metrów, ikona oznaczenia miejsca będzie wyświetlana na poziomie gruntu, jeśli teren poniżej również wynosi 10 metrów. Jeśli teren znajduje się 3 metry nad poziomem morza, oznaczenie miejsca będzie widoczne ponad poziomem ponad 7 metrów.
<gx:altitudeMode>
Rozszerzenie KML w przestrzeni nazw rozszerzeń Google umożliwiające określanie wysokości nad poziomem morza. Wartości:
  • relativeToSeaFloor – wartość wysokości podaje się w metrach nad poziomem morza. Jeśli punkt leży nad ziemią, a nie morzem, wysokość jest interpretowana jako położona nad ziemią.
  • clampToSeaFloor – specyfikacja wysokości jest ignorowana, a punkt znajduje się na dnie morza. Jeśli punkt znajduje się na ziemi, a nie na morzu, jest on umieszczany na poziomie gruntu.
<kiedy>
Wartość czasu odpowiadająca pozycji (określonej w elemencie <gx:coord>). Liczba elementów <when> na <ścieżce> musi być równa liczbie elementów <gx:coord> (i elementów <gx:angles, jeśli występują).
<gx:coord>
Współrzędna zawierająca 3 wartości długości i szerokości geograficznej oraz wysokość bez przecinków. Na przykład:
<gx:coord>-122.207881 37.371915 156.000000</gx:coord>

Pamiętaj, że składnia elementu <gx:coord> różni się od składni elementu <współrzędnych>, w którym do oddzielania komponentów długości i szerokości geograficznej oraz wysokości używane są przecinki. Wskazana liczba elementów powinna być równa liczbie elementów czasowych () i pozycji (). W razie potrzeby możesz dodać pusty element <gx:coord>, aby znaleźć brakującą wartość.

<gx:angles>
Ta wartość służy do określenia dodatkowej wartości nagłówka, przechylenia i przesunięcia do ikony lub modelu dla każdego czasu lub pozycji na ścieżce. Trzy wartości zmiennoprzecinkowe są wymienione bez separatorów i oznaczają stopień rotacji. Jeśli wartość <gx:angles> nie jest określona, Google Earth szacuje nagłówek, przechylenie i obrót obiektu na podstawie ścieżki. Liczba elementów <gx:angles> powinna być równa liczbie elementów czasu (<when>) i pozycji (<gx:coord>). W razie potrzeby możesz dodać pusty element <gx:angles>, aby znaleźć brakującą wartość.

Obecnie ikony obsługują tylko nagłówek, a modele obsługują wszystkie 3 wartości.

Oto przykład ustawienia tej wartości:

<gx:angles>45.54676 66.2342 77.0</gx:angles>
<Model>
Jeśli określisz model, zastąpi on ikonę punktu używaną do wskazania bieżącej pozycji na ścieżce. Jeśli element <Model> jest określony w tagu <gx:Track>, elementy podrzędne funkcji <Model> działają tak:
  • Element <Location> jest ignorowany.
  • Element <altitudeMode> jest ignorowany.
  • Wartość <Orientacja> jest połączona z orientacją ścieżki w ten sposób. Najpierw stosowana jest rotacja <Orientacja>, która powoduje, że model z lokalnego układu (x, y, z) jest układany z prawą stroną w górę i w kierunku północnym. Następnie stosowana jest rotacja, która odpowiada interpolacji wartości <gx:angles, które mają wpływ na nagłówek, przechylenie i obrót modelu poruszającego się po ścieżce. Jeśli nie określono kątów, kierunek i przechylenie są określane na podstawie ruchu modelu.

    Wskazówka: jeśli nie wiesz, jak określić orientację, pomiń element <Orientacja> w elemencie <Model> i zobacz, jak Google Earth przesuwa model podczas poruszania się po ścieżce. Jeśli zauważysz, że przednia strona modelu jest skierowana na bok, zmodyfikuj element <head> w sekcji <Orientacja>, aby obrócić model tak, aby był skierowany do przodu. Jeśli model nie jest poprawny, spróbuj zmodyfikować elementy <tilt> lub <roll>.

<ExtendedData>

Niestandardowe elementy danych zdefiniowane w <schema> wcześniej w pliku KML.

Często warto dodać rozszerzone dane związane z każdym czasem i pozycją na ścieżce. Jazda na rowerze może np. zawierać dane dotyczące tętna, rytmu i mocy, jak w przykładzie ścieżki z rozszerzonymi danymi. W <schemat> definiujesz element <gx:SimpleArrayField> dla każdego niestandardowego typu danych. Następnie dla każdego typu danych uwzględnij element <gx:SimpleArrayData> zawierający elementy <gx:value>, które odpowiadają czasowi/położeniu na ścieżce. Więcej informacji o dodawaniu nowych pól danych znajdziesz w rozdziale o dodawaniu danych niestandardowych w przewodniku dla programistów KML. W Google Earth dane niestandardowe są wyświetlane w profilu wysokości względnej ścieżki.

Prosty przykład

Ten bardzo prosty przykład pokazuje, jak utworzyć równoległe „tablice” wartości dla parametrów <when> i <gx:coord>. Liczba wartości czasu i pozycji musi być taka sama.

<?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">
<Folder>
  <Placemark>
    <gx:Track>
      <when>2010-05-28T02:02:09Z</when>
      <when>2010-05-28T02:02:35Z</when>
      <when>2010-05-28T02:02:44Z</when>
      <when>2010-05-28T02:02:53Z</when>
      <when>2010-05-28T02:02:54Z</when>
      <when>2010-05-28T02:02:55Z</when>
      <when>2010-05-28T02:02:56Z</when>
      <gx:coord>-122.207881 37.371915 156.000000</gx:coord>
      <gx:coord>-122.205712 37.373288 152.000000</gx:coord>
      <gx:coord>-122.204678 37.373939 147.000000</gx:coord>
      <gx:coord>-122.203572 37.374630 142.199997</gx:coord>
      <gx:coord>-122.203451 37.374706 141.800003</gx:coord>
      <gx:coord>-122.203329 37.374780 141.199997</gx:coord>
      <gx:coord>-122.203207 37.374857 140.199997</gx:coord>
    </gx:Track>
  </Placemark>
</Folder>
</kml>

Przykład śledzenia z wykorzystaniem rozszerzonych danych

Typ pogrubienia w tym przykładzie wyróżnia elementy używane do definiowania i określania danych niestandardowych podczas jazdy rowerem. Niestandardowe pola danych mają wewnętrznie nazwy „serce”, „kadencja” i „moc”. Element <Schema> określa nazwę, która ma być wyświetlana w przypadku każdego zestawu wartości (tętno, cykl i moc) oraz typ danych dla każdego nowego pola (tętno i kadencja są typu int, a typ mocy to float). W Google Earth dane niestandardowe są wyświetlane z profilem wysokości ścieżki.

To jest bardziej realistyczna prezentacja trasy z niestandardowymi ikonami oraz oddzielnymi stylami ikon i linii, które pozwalają wyróżnić tryb i tryb normalny. Pamiętaj jednak, że przykład zawiera tylko 7 zbiorów wartości danych. W rzeczywistym przykładzie dziesiątki tysięcy wartości (Dzięki grzeczności Sean Broeder. Dane zostały zebrane na urządzeniu Garmin Edge 705 z powiązanym monitorem tętna i miernika zasilania.

<?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>GPS device</name>
    <Snippet>Created Wed Jun 2 15:33:39 2010</Snippet>

    <!-- Normal track style -->
    <LookAt>
      <gx:TimeSpan>
        <begin>2010-05-28T02:02:09Z</begin>
        <end>2010-05-28T02:02:56Z</end>
      </gx:TimeSpan>
      <longitude>-122.205544</longitude>
      <latitude>37.373386</latitude>
      <range>1300.000000</range>
    </LookAt>
    <Style id="track_n">
      <IconStyle>
        <scale>.5</scale>
        <Icon>
          <href>http://earth.google.com/images/kml-icons/track-directional/track-none.png</href>
        </Icon>
      </IconStyle>
      <LabelStyle>
        <scale>0</scale>
      </LabelStyle>

    </Style>
    <!-- Highlighted track style -->
    <Style id="track_h">
      <IconStyle>
        <scale>1.2</scale>
        <Icon>
          <href>http://earth.google.com/images/kml-icons/track-directional/track-none.png</href>
        </Icon>
      </IconStyle>
    </Style>
    <StyleMap id="track">
      <Pair>
        <key>normal</key>
        <styleUrl>#track_n</styleUrl>
      </Pair>
      <Pair>
        <key>highlight</key>
        <styleUrl>#track_h</styleUrl>
      </Pair>
    </StyleMap>
    <!-- Normal multiTrack style -->
    <Style id="multiTrack_n">
      <IconStyle>
        <Icon>
          <href>http://earth.google.com/images/kml-icons/track-directional/track-0.png</href>
        </Icon>
      </IconStyle>
      <LineStyle>
        <color>99ffac59</color>
        <width>6</width>
      </LineStyle>

    </Style>
    <!-- Highlighted multiTrack style -->
    <Style id="multiTrack_h">
      <IconStyle>
        <scale>1.2</scale>
        <Icon>
          <href>http://earth.google.com/images/kml-icons/track-directional/track-0.png</href>
        </Icon>
      </IconStyle>
      <LineStyle>
        <color>99ffac59</color>
        <width>8</width>
      </LineStyle>
    </Style>
    <StyleMap id="multiTrack">
      <Pair>
        <key>normal</key>
        <styleUrl>#multiTrack_n</styleUrl>
      </Pair>
      <Pair>
        <key>highlight</key>
        <styleUrl>#multiTrack_h</styleUrl>
      </Pair>
    </StyleMap>
    <!-- Normal waypoint style -->
    <Style id="waypoint_n">
      <IconStyle>
        <Icon>
          <href>http://maps.google.com/mapfiles/kml/pal4/icon61.png</href>
        </Icon>
      </IconStyle>
    </Style>
    <!-- Highlighted waypoint style -->
    <Style id="waypoint_h">
      <IconStyle>
        <scale>1.2</scale>
        <Icon>
          <href>http://maps.google.com/mapfiles/kml/pal4/icon61.png</href>
        </Icon>
      </IconStyle>
    </Style>
    <StyleMap id="waypoint">
      <Pair>
        <key>normal</key>
        <styleUrl>#waypoint_n</styleUrl>
      </Pair>
      <Pair>
        <key>highlight</key>
        <styleUrl>#waypoint_h</styleUrl>
      </Pair>
    </StyleMap>
    <Style id="lineStyle">
      <LineStyle>
        <color>99ffac59</color>
        <width>6</width>
      </LineStyle>
    </Style>
    <Schema id="schema">
      <gx:SimpleArrayField name="heartrate" type="int">
        <displayName>Heart Rate</displayName>
      </gx:SimpleArrayField>
      <gx:SimpleArrayField name="cadence" type="int">
        <displayName>Cadence</displayName>
      </gx:SimpleArrayField>
      <gx:SimpleArrayField name="power" type="float">
        <displayName>Power</displayName>
      </gx:SimpleArrayField>
    </Schema>
    <Folder>
      <name>Tracks</name>
      <Placemark>
        <name>2010-05-28T01:16:35.000Z</name>
        <styleUrl>#multiTrack</styleUrl>
        <gx:Track>
          <when>2010-05-28T02:02:09Z</when>
          <when>2010-05-28T02:02:35Z</when>
          <when>2010-05-28T02:02:44Z</when>
          <when>2010-05-28T02:02:53Z</when>
          <when>2010-05-28T02:02:54Z</when>
          <when>2010-05-28T02:02:55Z</when>
          <when>2010-05-28T02:02:56Z</when>
          <gx:coord>-122.207881 37.371915 156.000000</gx:coord>
          <gx:coord>-122.205712 37.373288 152.000000</gx:coord>
          <gx:coord>-122.204678 37.373939 147.000000</gx:coord>
          <gx:coord>-122.203572 37.374630 142.199997</gx:coord>
          <gx:coord>-122.203451 37.374706 141.800003</gx:coord>
          <gx:coord>-122.203329 37.374780 141.199997</gx:coord>
          <gx:coord>-122.203207 37.374857 140.199997</gx:coord>
          <ExtendedData>
            <SchemaData schemaUrl="#schema">
              <gx:SimpleArrayData name="cadence">
                <gx:value>86</gx:value>
                <gx:value>103</gx:value>
                <gx:value>108</gx:value>
                <gx:value>113</gx:value>
                <gx:value>113</gx:value>
                <gx:value>113</gx:value>
                <gx:value>113</gx:value>
              </gx:SimpleArrayData>
              <gx:SimpleArrayData name="heartrate">
                <gx:value>181</gx:value>
                <gx:value>177</gx:value>
                <gx:value>175</gx:value>
                <gx:value>173</gx:value>
                <gx:value>173</gx:value>
                <gx:value>173</gx:value>
                <gx:value>173</gx:value>
              </gx:SimpleArrayData>
              <gx:SimpleArrayData name="power">
                <gx:value>327.0</gx:value>
                <gx:value>177.0</gx:value>
                <gx:value>179.0</gx:value>
                <gx:value>162.0</gx:value>
                <gx:value>166.0</gx:value>
                <gx:value>177.0</gx:value>
                <gx:value>183.0</gx:value>
              </gx:SimpleArrayData>
            </SchemaData>
          </ExtendedData>
        </gx:Track>
      </Placemark>
    </Folder>
  </Document>
</kml>

Rozszerza

Zawiera

<Aktualizacja>

Składnia

<Update>
  <targetHref>...</targetHref>    <!-- URL -->
  <Change>...</Change>
  <Create>...</Create>
  <Delete>...</Delete>
</Update>

Opis

Określa dodawanie, zmianę lub usuwanie danych KML, które zostały już wczytane za pomocą określonego adresu URL. <targetHref> określa plik .json lub .kmz, którego dane (w Google Earth) mają zostać zmodyfikowane. Parametr <Update> jest zawsze zawarty w elemencie NetworkLinkControl. Ponadto plik zawierający NetworkLinkControl musi zostać wczytany przez NetworkLink. Szczegółowy przykład działania aktualizacji znajdziesz na stronie „Tematy w KML” w sekcji Aktualizacje.

Elementy specyficzne dla aktualizacji

Może zawierać dowolną liczbę elementów <Change>, <Create> i <Delete>, które będą przetwarzane w określonej kolejności.

<targetHref>(wymagany)
URL określający plik .json lub .kmz, którego dane (w Google Earth) mają zostać zmodyfikowane przez element <Update>. Ten plik KML został już wczytany za pomocą elementu <NetworkLink>. W tym pliku element do zmodyfikowania musi mieć już zdefiniowany atrybut id.
<Zmień>
Modyfikuje wartości w elemencie, który został już wczytany za pomocą atrybutu <NetworkLink>. W elemencie Zmiana zmodyfikowany element podrzędny musi zawierać atrybut targetId odwołujący się do id oryginalnego elementu.
Tę aktualizację można uznać za „aktualizację niewielką”: w zmodyfikowanym elemencie zastępowane są tylko wartości podane w polu <Change>. Pozostałe wartości pozostają niezmienione. Po zastosowaniu <Change> do zestawu współrzędnych nowe współrzędne zastępują obecne.
Elementy podrzędne tego elementu to elementy, które mają być modyfikowane za pomocą atrybutu targetId.
<Utwórz>
Dodaje nowe elementy do folderu lub dokumentu, które zostały już wczytane za pomocą <NetworkLink>. Element <targetHref> w <Update> określa adres URL pliku .json lub .kmz zawierającego oryginalny folder lub dokument. Folder lub dokument, który ma zawierać nowe dane, musi już mieć zdefiniowany identyfikator w tym pliku. Do tego identyfikatora odwołuje się atrybut targetId folderu lub dokumentu w <Create> zawierającym element do dodania.
Po utworzeniu obiektu i wczytaniu go do Google Earth przyjmuje on adres URL oryginalnego dokumentu nadrzędnego. Aby przeprowadzać kolejne aktualizacje obiektów dodanych za pomocą tego mechanizmu aktualizacji/tworzenia, ustaw <targetHref> na adres URL pierwotnego dokumentu lub folderu (a nie URL pliku, który wczytał aktualizacje).
<Usuń>
Usuwa funkcje ze złożonego elementu, który został już wczytany za pomocą elementu <NetworkLink>. Element <targetHref> w pliku <Update> określa plik .json lub .kmz zawierający dane do usunięcia. Element, który chcesz usunąć, musi mieć już zdefiniowany identyfikator w tym pliku. Element <Delete> odwołuje się do tego atrybutu id w atrybucie targetId.
Jedynymi elementami, które można usunąć, są <Delete>: Document, Folder, GroundOverlay, Placemark i ScreenOverlay.

Przykład <Change>

<NetworkLinkControl>
  <Update>
    <targetHref>http://www/~sam/January14Data/Point.kml</targetHref>
    <Change> 
      <Point targetId="point123">
        <coordinates>-95.48,40.43,0</coordinates>
      </Point>
    </Change>
  </Update>
</NetworkLinkControl> 

Przykład <Create>

Ten przykład tworzy nowe oznaczenie miejsca we wcześniej utworzonym dokumencie, którego identyfikator id to „region24”. Pamiętaj, że jeśli chcesz wprowadzić kolejne zmiany w polu „placemark891”, nadal będziesz używać pliku http://myserver.com/Point.json jako <targetHref>.

<Update>
  <targetHref>http://myserver.com/Point.kml</targetHref>
  <Create>
    <Document targetId="region24">
      <Placemark id="placemark891">
        <Point>
          <coordinates>-95.48,40.43,0</coordinates>
        </Point>
      </Placemark>
    </Document>
  </Create> 
</Update>

Przykład <Delete>

Ten przykład usuwa oznaczenie miejsca wczytane wcześniej do Google Earth. (Oznaczenie miejsca mogło zostać wczytane bezpośrednio za pomocą linku NetworkLink o podanym adresie URL lub wczytywane przez następną aktualizację oryginalnego dokumentu).

<Update>
  <targetHref>http://www.foo.com/Point.kml</targetHref>
  <Delete>
    <Placemark targetId="pa3556"></Placemark>
  </Delete>
</Update> 

Zawiera

<Url>,

Uwaga: ten element został wycofany w wersji KML 2.1 i zastąpiony przez <link>, który udostępnia dodatkowe funkcje Regionów. Tag <Url> nadal będzie działać w Google Earth, ale zachęcamy do używania nowszego tagu <Link>.

Za pomocą tego elementu możesz ustawić lokalizację linku do pliku KML, określić opcje odświeżania dla zmian na serwerze i w przeglądarce oraz wypełnić zmienną, która będzie zwracać przydatne informacje o kliencie na serwerze.

Powrót do góry