Referência do KML

Esta seção contém uma referência em ordem alfabética para todos os elementos KML definidos no KML versão 2.2, bem como para elementos do namespace da extensão do Google. A árvore de classes para os elementos KML é mostrada a seguir. Neste diagrama, os elementos à direita em uma ramificação específica da árvore são extensões dos elementos à esquerda. Por exemplo, o marcador é um tipo especial de elemento. Ele contém todos os elementos que pertencem a Recurso e adiciona alguns elementos específicos do elemento de marcador.

KML é um padrão aberto oficialmente chamado de Padrão de Codificação OpenGIS® KML (OGC KML). Ele é mantido pelo Open Geospace Consortium, Inc. (OGC). A especificação completa para OGC KML pode ser encontrada em http://www.opengeospatial.org/standards/kml/.

O esquema XML completo para KML está localizado em http://schemas.opengis.net/kml/.

Observação: clique no nome de um elemento no diagrama para pular para sua entrada na seção de referência.

diagrama de árvore de classes Elemento Object (pai) Elemento gx:Tour; filho de Feature Elemento NetworkLink; filho de Feature Elemento Placemark; filho de Feature Elemento Overlay; filho de Feature Elemento Container; filho de Feature Elemento Feature Elemento Geometry; filho de Object Elemento PhotoOverlay; filho de Overlay ScreenOverlay; filho de Overlay Elemento GroundOverlay; filho de Overlay Elemento Folder; filho de Container Elemento Document; filho de Container Elemento Point; filho de Geometry Elemento LineString; filho de Geometry Elemento LinearRing; filho de Geometry Elemento Link; filho de Object Elemento Icon; filho  Link Elemento Orientation; filho de Object Elemento Location; filho de Object Elemento Scale; filho de Object Elemento Polygon; filho de Geometry Elemento MultiGeometry; filho de Geometry Elemento Model; filho de MultiGeometry Elemento gx:Track; filho de Geometry Elemento de estilo, filho de StyleSelector Elemento gx:MultiTrack; filho de Geometry Elemento StyleSelector; filho de Object Elemento StyleMap; filho de Style Selector Elemento TimePrimitive; filho de Object Elemento TimeSpan; filho de TimePrimitive gx:TimeStamp Elemento AbstractView; filho de Object Elemento Camera; filho de AbstractView Elemento LookAt; filho de AbstractView Elemento Region; filho de Object Elemento Lod, filho de Object Elemento LatLonBox; filho de Object Elemento LatLonAltBox; filho de Object Elemento gx:LatLonQuad; filho de Object Elemento SubStyle; filho de Object Elemento BalloonStyle; filho de SubStyle Elemento ColorStyle; filho de SubStyle Elemento ListStyle; filho de SubStyle Elemento gx:TimeSpan; filho de TimeSpan Elemento TimeStamp, filho de TimePrimitive Elemento LineStyle; filho de ColorStyle Elemento Polystyle; filho de ColorStyle Elemento IconStyle; filho de ColorStyle Elemento LabelStyle; filho de ColorStyle Elemento gx:TourPrimitive; filho de Object gx:AnimatedUpdate Elemento gx:FlyTo; filho de TourPrimitive Elemento gx:SoundCue; filho de TourPrimitive Elemento gx:TourControl; filho de gx:TourPrimitive Elemento gx:Wait; filho de gx: TourPrimitive Elemento gx:PlayList; filho de Object

Os elementos abstratos (mostrados em caixas no diagrama) não são realmente usados em arquivos KML. Eles são uma forma útil para um único elemento servir como a base programática para vários elementos derivados semelhantes (mas diferentes). O entendimento dessa hierarquia orientada a objetos também é uma boa maneira de aprender sobre o KML, uma vez que você pode facilmente ver agrupamentos de elementos relacionados.

Todos os elementos derivados de Objeto podem ter um ID atribuído a eles. Esse id é usado pelo mecanismo de atualização de KML (consulte <Update>) para arquivos carregados com um NetworkLink. Ele também é usado por estilos compartilhados (consulte <Style>). O id é um ID XML padrão.

Como o KML é uma gramática e um formato de arquivo XML, os nomes de tags diferenciam maiúsculas e minúsculas e devem aparecer exatamente como mostrados aqui. Se você estiver familiarizado com XML, também terá interesse no Esquema KML 2.2. Quando você está editando arquivos de texto KML, pode carregar esse esquema em qualquer editor de XML e validar seu código KML com ele.

Dica: como visualizar KML para elementos do Google Earth

Eis um recurso útil do Google Earth que facilita a visualização do arquivo KML para qualquer Elemento. No Google Earth, você pode clicar com o botão direito do mouse em um Elemento no painel "Lugares" e copiá-lo. Para visualizar o KML correspondente para o objeto copiado, abra seu editor de texto favorito e cole a seleção para ele.

Compatibilidade

As versões KML têm um sistema de numeração dupla: majorVersion.minorVersion. Todas as versões com o mesmo majorVersion são compatíveis. Por isso, se você mudar o namespace para "2.2" (ou seja, xmlns="http://www.opengis.net/kml/2.2"), todos os arquivos KML 2.1 serão validados no esquema KML 2.2.

Sobre esta referência

Cada entrada de referência inclui uma seção "Sintaxe", que lista os elementos contidos no elemento principal. A seção "Sintaxe" é uma lista informal e usa taquigrafia simples para resumir os elementos. Esta seção também contém o seguinte:

  • valores padrão para cada elemento (ou reticências, se for um elemento complexo ou se não houver valor padrão)
  • o tipo de valor (consulte Campos KML)

A seção "Sintaxe" pode ser copiada e usada como um modelo para qualquer elemento não abstrato em um arquivo KML.

Namespace de extensão KML e o prefixo gx

O padrão KML OGC fornece um mecanismo para extensões: elementos adicionais que contêm informações além daquelas disponíveis no padrão (saiba mais sobre namespaces XML em w3.org). Com o lançamento do Google Earth 5.0, o Google forneceu extensões para KML a fim de apoiar uma série de novos elementos. Essas extensões usam o prefixo AndroidManifest e o URI de namespace a seguir:

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

Esse URI de namespace precisa ser adicionado ao elemento <kml> em qualquer arquivo KML que use elementos com prefixo AndroidManifest-:

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

As extensões para KML podem não ser suportadas em todos os navegadores geográficos. Se seu navegador não suportar extensões específicas, os dados nessas extensões deverão ser ignorados, e o resto do arquivo KML deverá ser carregado sem erros.

Os elementos que atualmente utilizam o prefixo gx são:

O esquema XML completo para os elementos deste namespace de extensão está localizado em http://developers.google.com/kml/schema/kml22gx.xsd.n

Campos KML

O KML usa tipos XML comuns, como boolean, string, double, float e int. Além disso, ele define vários tipos de elementos de campo. A tabela a seguir lista alguns dos tipos mais comumente utilizados definidos em KML e links para elementos de exemplo que os utilizam:

Tipo de campo Valor Exemplo de uso
altitudeModeEnum clampToGround, relativeToGround, absoluto Veja <LookAt> e <Region>
ângulo 90 um valor ≥ -90 e ≤ 90 Veja <latitude> em <Model>
anglepos90 (link em inglês) um valor ≥ 0 e ≤ 90 Veja <tilt> em <LookAt>
ângulo 180 um valor ≥ -180 e ≤ 180 Veja <longitude> em <Model>
ângulo 360 um valor ≥ -360 e ≤ 360 Veja <heading> em <Orientation>
cor valor hexBinary: aabbggrr Veja qualquer elemento que estende <ColorStyle>
colorModeEnum. normal, aleatório Veja qualquer elemento que estende <ColorStyle>
dateTime (em inglês) dateTime, date, gYearMonth, gYear Veja <TimeSpan> e <TimeStamp>
displayModeEnum. padrão, ocultar Consulte <BalloonStyle>
gridOrigin (link em inglês) canto inferior esquerdo, superior esquerdo Consulte <PhotoOverlay>
refreshModeEnum onChange, onInterval, onExpire Veja <Link>
shapeEnum retângulo, cilindro, esfera Consulte <PhotoOverlay>
styleStateEnum normal, destacar Veja <StyleMap>
unidades enumeradas fração, pixeis, insetPixels Veja <hotSpot> em <IconStyle>, <ScreenOverlay>
vec2 (link em inglês) x=double xunits=kml:unitsEnum
y=double yunits=kml:unitsEnum
Veja <hotSpot> em <IconStyle>,
<ScreenOverlay>
viewRefreshEnum nunca, onRequest, onStop, onRegion Veja <Link>

 

<AbstractView>

Sintaxe

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

Descrição

Este é um elemento abstrato e não pode ser usado diretamente em um arquivo KML. Este elemento é estendido pelos elementos <Camera> e <LookAt>.

Estende

Elementos específicos de AbstractView

<AndroidManifest:ViewerOptions>
Este elemento ativa os modos de visualização especiais no Google Earth 6.0 e posterior. Ela tem um ou mais elementos filhos <gx:option>. O elemento <gx:option> tem um atributo name e um atributo enabled. O name especifica uma das seguintes opções: imagens do Street View ("streetview"), imagens históricas ("historicalimagery") e efeitos da luz solar para uma determinada hora do dia ("luz do sol"). O atributo enabled é usado para ativar ou desativar um determinado modo de visualização.
<gx:horizFov>
Define o campo de visão horizontal da AbstractView durante um passeio. Esse elemento não tem efeito em AbstractViews fora de um passeio. <gx:horizFov> é inserido automaticamente pelo cliente Google Earth (versões 6.1+) durante a gravação do tour. AbstractViews normais recebem o valor 60; visualizações dentro do Street View recebem um valor 85 para corresponder ao campo de visão padrão do Street View no Google Earth. Depois de definido, o valor será aplicado às visualizações subsequentes, até que um novo valor seja especificado.

Estendido por

<gx:altitudeMode>

Este elemento é uma extensão do padrão KML 2.2 OGC e é compatível com o Google Earth 5.0 e posterior. Saiba mais

Sintaxe

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

Descrição

Pode ser usado no lugar do elemento <altitudeMode> padrão OGC KML e aceita os seguintes valores, além dos valores de altitudeMode padrão:

  • relativeToSeaFloor: interpreta a altitude como um valor em metros acima do fundo do mar. Se o elemento KML estiver acima da terra e não do mar, a altitude será interpretada como estando acima do solo.
  • clampToSeaFloor: a especificação de altitude é ignorada, e o elemento de KML será posicionado no fundo do mar. Se o elemento KML estiver no solo e não no mar, clampToSeaFloor, será fixado à terra.

Assim como em <altitudeMode>, <gx:altitudeMode> afeta:

  • a coordenada de altitude no elemento <coordinates>
  • <minAltitude> e <maxAltitude> em <LatLonAltBox>
  • <altitude> em <Location>, <GroundOverlay> e AbstractView (<LookAt> e <Camera>).

Mais informações sobre modos de altitude estão disponíveis no capítulo Modos de altitude do Guia do desenvolvedor de KML.

Exemplo

 altitudemode_reference.kml

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

Este elemento é uma extensão do padrão KML 2.2 OGC e é compatível com o Google Earth 5.0 e posterior. Saiba mais

Sintaxe

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

Descrição

<gx:AnimatedUpdate> controla as mudanças durante um tour pelos recursos KML usando <Update>. As alterações nos elementos KML não modificarão o DOM, ou seja, todas as alterações serão revertidas quando o tour terminar e não serão salvas no KML a qualquer momento.

<gx:AnimatedUpdate> também precisa conter um valor <gx:duration> para especificar o período em segundos em que a atualização ocorre. Os campos "integer", "float" e "color" são animados sem quaisquer problemas do original para um novo valor em todo o período; "boolean", "string" e outros valores que não são adequados à interpolação são atualizados no final do período.

Consulte Cronogramas de passeio, no capítulo Passeio do Guia do desenvolvedor de KML, para ver informações sobre <gx:AnimatedUpdate> e o cronograma do passeio.

<gx:duration>
Especifica a duração da atualização, em segundos.
<Salesforce:delayedStart>
Especifica o número de segundos de espera (após a posição de início in-line) antes de iniciar a atualização.

Exemplo

O exemplo abaixo demonstra uma mudança no tamanho do ícone. Esta mudança será animada com cinco segundos de duração.

 animatedupdate_example.kml

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

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

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

Estende

Contém

<BalloonStyle>

Sintaxe

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

Descrição

Especifica como o balão de descrição de marcadores é desenhado. O <bgcolor>, se especificado, é usado como a cor do fundo do balão. Consulte <Feature> para ver um diagrama que ilustra como o balão de descrição padrão aparece no Google Earth.

Elementos específicos de BalloonStyle

<bgColor>
Cor de fundo do balão (opcional). Os valores de cor e opacidade (alfa) são expressos em notação hexadecimal. O intervalo de valores de qualquer cor é de 0 a 255 (00 a ff). A ordem de expressão é aabbggrr, em que aa=alpha (00 a ff); bb=blue (00 a ff); gg=green (00 a ff); rr=red (00 a ff). Para Alfa, 00 é totalmente transparente, e ff é totalmente opaco. Por exemplo, se você quiser aplicar uma cor azul com 50% de opacidade a uma sobreposição, especifique o seguinte: <bgColor>7fff0000</bgColor>, em que alpha=0x7f, blue=0xff, green=0x00 e red=0x00. O padrão é branco opaco (ffffffff).

Observação: o uso do elemento <color> em <BalloonStyle> foi descontinuado. Use <bgColor>.

<textColor>
Cor de primeiro plano para o texto. O padrão é preto (ff000000).
<text>
Texto exibido no balão. Se nenhum texto for especificado, o Google Earth desenhará o balão padrão (com o elemento <name> em negrito, o elemento <description>, links para rotas de carro, um plano de fundo branco e uma cauda que está anexada às coordenadas de ponto do elemento, se especificado).
É possível adicionar entidades à tag <text> usando o seguinte formato para se referir a um elemento filho de Feature: $[name], $[description], $[address], $[id], $[Snippet]. O Google Earth olha para o elemento atual da entidade da string correspondente e substitui essas informações no balão. Para incluir rotas de carro Até aqui aqui no balão, use a tag $[geDirections]. Para que os links de rotas de carro não apareçam em um balão, inclua o elemento <text> com algum conteúdo ou com $[description] para substituir o elemento básico <description>.
Por exemplo, no seguinte trecho KML, os campos $[name] e $[description] serão substituídos pelos campos <name> e <description> encontrados nos elementos de recurso que usam esse BalloonStyle:
<displayMode>
Se <displayMode> for padrão, o Google Earth usará as informações fornecidas em <text> para criar um balão . Se <displayMode> estiver ocultar, o Google Earth não exibirá o balão. No Google Earth, um clique no ícone de visualização da lista de um marcador cujo <displayMode> do balão é ocultar faz com que o Google Earth voe até o marcador.

Exemplo

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

Estende

Contido por

Voltar ao início

<gx:balloonVisibility>

Este elemento é uma extensão do padrão KML 2.2 OGC e é compatível com o Google Earth 5.0 e posterior. Saiba mais

Sintaxe

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

Descrição

Alterna a visibilidade de um balão de descrição. O balão a ser atualizado precisa ser identificado pelo ID XML do objeto (por exemplo, <Placemark targetId="xxx">).

Exemplos

O primeiro exemplo mostra <gx:balloonVisibility> com um marcador de local. Quando o marcador estiver carregado, o balão de descrição será aberto.
balanço_exemplo.kml

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

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

O segundo exemplo mostra o uso de <gx:balloonVisibility> em um tour. Diversos balões são abertos e fechados durante o passeio, fornecendo informações para o leitor.
balancular_tourexemplo.kml

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

  <Document>
    <name>balloonVisibility Example</name>
    <open>1</open>

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

        <gx:FlyTo>
          <gx:duration>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>

Estende

<Camera>

Sintaxe

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

Descrição

Define a câmera virtual que vê a cena. Este elemento define a posição da câmera em relação à superfície da Terra, bem como a direção de visualização da câmera. A posição da câmera é definida por <longitude>, <latitude>, <altitude> e <altitudeMode> ou <AndroidManifest:altitudeMode>. A direção de visualização da câmera é definida por <heading>, <tilt> e <roll>. <Camera> pode ser um elemento filho de qualquer recurso ou de <NetworkLinkControl>. Um elemento pai não pode conter ambos ao mesmo <Look>.

<Camera> fornece controle total com seis graus de liberdade sobre a visualização, de modo que você possa posicionar a câmera no espaço e girá-la ao redor dos eixos X, Y e Z. Mais importante, é possível inclinar a visualização da câmera de modo que você veja acima do horizonte no céu.

<Camera> também pode conter um TimePrimitive (<mx:TimeSpan> ou <mx:TimeStamp>). Os valores de tempo na Câmera afetam imagens históricas, luz solar e a exibição de características com carimbo de data/hora. Para obter mais informações, leia Tempo com AbstractViews, no capítulo Tempo e animação do Guia do desenvolvedor.

Definição de uma visualização

Em um elemento ou <NetworkLinkControl>, use um objeto <Camera> ou <LookAt> (mas não ambos no mesmo objeto). O objeto <Camera> define o ponto de visão em termos de posição e orientação do visualizador. O objeto <Camera> permite que você especifique uma visualização que não está na superfície da Terra. O objeto <LookAt> define o ponto de visão em termos daquilo que está sendo visualizado. O objeto <LookAt> é mais limitado que <Camera> e geralmente exige que a direção da visualização cruze a superfície da Terra.

O diagrama a seguir mostra os eixos X, Y e Z, que são anexados à câmera virtual.

  • O eixo X aponta para a direita da câmera e é chamado de vetor direito.
  • O eixo Y define a direção "para cima" em relação à tela e é chamado de vetor superior.
  • O eixo Z aponta do centro da tela até o ponto de visão. A câmera olha pelo eixo -Z, que é chamado de vetor de visualização.

Ordem de transformações

A ordem da rotação é importante. Por padrão, a câmera olha diretamente para baixo no eixo -Z em direção à Terra. Antes de as rotações serem realizadas, a câmera é convertida ao longo do eixo Z para <altitude>. A ordem das transformações é a seguinte:

  1. <altitude>: traduza ao longo do eixo Z para <altitude>
  2. <heading>: gira em torno do eixo Z.
  3. <tilt>: gira em torno do eixo X.
  4. <roll>: gira em torno do eixo Z (novamente).

Sempre que uma rotação é aplicada, dois dos eixos da câmera mudam suas orientações.

Elementos específicos de Camera

<longitude>
Longitude da câmera virtual (ponto de olho). Distância angular em graus, em relação ao Meridiano de Greenwich. Os valores a Oeste do Meridiano variam de -180 a 0 graus. Os valores a Leste do Meridiano variam de 0 a 180 graus.
<latitude>
Latitude da câmera virtual Graus ao Norte ou ao Sul do Equador (0 graus). Os valores variam de -90 a 90 graus.
<altitude>
A distância da câmera em relação à superfície da Terra, em metros. Interpretada de acordo com <altitudeMode> ou <mx:altitudeMode> da câmera.
<heading>
Direção (azimute) da câmera, em graus. Padrão = 0 (Norte verdadeiro). Veja o diagrama. Os valores variam de 0 a 360 graus.
<tilt>
Rotação em graus da câmera em torno do eixo X. Um valor 0 indica que a visualização está voltada diretamente para baixo em direção à Terra (o caso mais comum). Um valor 90 para <tilt> indica que a visualização é voltada para o horizonte. Valores maiores que 90 indicam que a visualização aponta para o céu. Os valores para <tilt> são fixados em +180 graus.
<roll>
Rotação em graus da câmera em torno do eixo Z. Os valores variam de -180 a +180 graus.
<altitudeMode>
Especifica como a <altitude> especificada para a câmera é interpretada. Os valores possíveis são os seguintes:
  • relativeToGround: (padrão) Interpreta a <altitude> como um valor em metros acima do solo. Se o ponto estiver sobre a água, a <altitude> será interpretada como um valor em metros acima do nível do mar. Veja <AndroidManifest:altitudeMode> abaixo para especificar os pontos em relação ao fundo do mar.
  • clampToGround: para uma câmera, esta configuração também coloca a câmera relativeToGround, uma vez que colocar a câmera exatamente na altura do terreno significa que o olho cruza o terreno (e a visualização seria bloqueada).
  • absolute: interpreta a <altitude> como um valor em metros acima do nível do mar.
<gx:altitudeMode>
Uma extensão KML no namespace de extensão do Google, permitindo altitudes em relação ao fundo do mar. Os valores são os seguintes:
  • relativeToSeaFloor: interpreta a <altitude> como um valor em metros acima do fundo do mar. Se o ponto estiver acima da terra e não do mar, a <altitude> será interpretada como estando acima do solo.
  • clampToSeaFloor: a especificação <altitude> é ignorada, e a câmera será posicionada no fundo do mar. Se o ponto estiver na terra, em vez de no mar, a câmera estará posicionada no solo.

Estende

Contido por

Voltar ao início

<ColorStyle>

Sintaxe

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

Descrição

Este é um elemento abstrato e não pode ser usado diretamente em um arquivo KML. Ele fornece elementos para especificar a cor e o modo de cor dos tipos de estilo estendidos.

Elementos específicos de ColorStyle

<color>
Os valores de cor e opacidade (alfa) são expressos em notação hexadecimal. O intervalo de valores para qualquer cor é de 0 a 255 (00 a ff). Para alfa, 00 é totalmente transparente, e ff é totalmente opaco. A ordem da expressão é aabbggrr, em que aa=alpha (00 a ff); bb=blue (00 a ff); gg=green (00 a ff); rr=red (00 a ff). Por exemplo, se você quiser aplicar uma cor azul com 50% de opacidade a uma sobreposição, especifique o seguinte: <color>7fff0000</color>, em que alpha=0x7f, blue=0xff, green=0x00 e red=0x00
.
<colorMode>
Os valores para <colorMode> são normais (sem efeito) e aleatórios. Um valor aleatório aplica uma escala linear aleatória a <color> base da seguinte maneira.
  • Para conseguir uma seleção verdadeiramente aleatória de cores, especifique uma <color> base branca (ffffffff).
  • Se for especificado um único elemento de cor (por exemplo, um valor de ff0000ff para vermelho), os valores de cor aleatórios para esse componente (vermelho) serão selecionados. Nesse caso, os valores variam entre 00 (preto) e ff (vermelho total).
  • Se especificar valores para doisou para todos os três componentes de cor, uma escala linear aleatória será aplicada a cada componente de cor, com resultados que variam de preto aos valores máximos estabelecidos para cada componente.
  • A opacidade de uma cor vem do componente alfa de <color> e nunca é aleatorizada.

Estende

Estendido por

Voltar ao início

<Container>

Sintaxe

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

Descrição

Este é um elemento abstrato e não pode ser usado diretamente em um arquivo KML. Um elemento Container contém um ou mais elementos e permite a criação de hierarquias aninhadas.

Estende

Estendido por

Voltar ao início

<Document>

Sintaxe

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

Descrição

Um documento é um recipiente de elementos e estilos. Este elemento é obrigatório se o arquivo KML usa estilos compartilhados. Recomendamos que você use estilos compartilhados, o que requer as seguintes etapas:

  1. Definir todos os estilos em um documento. Atribua um ID exclusivo a cada estilo.
  2. Em um determinado Elemento ou StyleMap, mencione o ID do estilo usando um elemento <styleUrl>.

Os estilos compartilhados não são herdados pelos recursos no documento.

Cada Recurso deve referenciar explicitamente os estilos que usa em um elemento <styleUrl>. Para um estilo que se aplica a um documento (como ListStyle), o próprio documento precisa fazer referência explícita a <styleUrl>. Por exemplo:

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

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

Não coloque estilos compartilhados em uma pasta.

O exemplo a seguir ilustra o uso de um estilo compartilhado.

Exemplo

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

Estende

Contém

Voltar ao início

<gx:duration>

Este elemento é uma extensão do padrão KML 2.2 OGC e é compatível com o Google Earth 5.0 e posterior. Saiba mais

Sintaxe

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

Descrição

<gx:duration> estende gx:TourPrimitive especificando um período para eventos. O horário é escrito em segundos usando o tipo de dados XML duplo.

Duração e <gx:FlyTo>

Quando uma duração é incluída em um elemento <gx:FlyTo>, ela especifica o tempo que o navegador leva para voar do ponto anterior ao ponto especificado.

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

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

Duração e <gx:AnimatedUpdate>

Especifica o período em que a atualização ocorre. Os campos "integer", "float" e "color" são animados sem quaisquer problemas do original para um novo valor em todo o período; "boolean", "string" e outros valores que não são adequados à interpolação são atualizados no final do período.

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

    ....

  </Update>
</gx:AnimatedUpdate>

 

<ExtendedData>

Sintaxe

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

Descrição

O elemento ExtendedData oferece três técnicas para adicionar dados personalizados a um elemento KML (NetworkLink, Placemark, GroundOverlay, PhotoOverlay, ScreenOverlay, Document, Folder). Estas técnicas são:

  • Adicionar pares de dados/valores sem tipo, usando o elemento <Data> (básico)
  • Declarar novos campos com tipo, utilizando o elemento <Schema> e instanciando-os com o elemento <SchemaData> (avançado)
  • Referir-se a elementos XML definidos em outros namespaces, referenciando o namespace externo no arquivo KML (básico)

Essas técnicas podem ser combinadas em um único arquivo KML ou Elemento para as diferentes partes de dados.

Para obter mais informações, consulte Adição de dados personalizados em "Tópicos em KML".

Elementos específicos de ExtendedData

<Nome do dado ="string">
Cria um par de nome/valor sem tipo. O nome pode ter duas versões: name e displayName. O atributo name é usado para identificar o par de dados no arquivo KML. O elemento displayName é usado quando um nome formatado corretamente, com espaços e formatação HTML, é exibido no Google Earth. No elemento <text> de <BalloonStyle>, a notação $[name/displayName] é substituída por <displayName>. Se você substituir o valor do atributo name do elemento <Data> nesse formato (por exemplo, $[holeYardage], o valor do atributo será substituído por <value>. Por padrão, o balão do marcador exibirá os pares de nome/valor associados a ele.
<displayName>
Uma versão formatada opcional de name, que será usada para fins de exibição.
<value>
Valor do par de dados.
<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>
<SchemaData schemaUrl="anyURI">
Este elemento é usado com <Schema> para adicionar dados personalizados tipados a um elemento KML. O elemento de esquema (identificado pelo atributo schemaUrl) declara o tipo de dados personalizados. Os objetos de dados reais ("instâncias" dos dados personalizados) são definidos usando o elemento SchemaData.
O <schemaURL> pode ser um URL completo, uma referência a um ID de esquema definido em um arquivo KML externo ou uma referência a um ID de esquema definido no mesmo arquivo KML. Todas as especificações a seguir são aceitáveis:
schemaUrl="http://host.com/PlacesIHaveLived.kml#my-schema-id"
schemaUrl="AnotherFile.kml#my-schema-id"
schemaUrl="#schema-id"   <!-- same file -->
O elemento de esquema é sempre um filho de documento. O elemento ExtendedData é um filho do Elemento que contém os dados personalizados.
<SimpleData name="string">
Este elemento atribui um valor ao campo de dados personalizados identificado pelo atributo name. O tipo e o nome desse campo de dados personalizados são declarados no elemento <Schema>.
Veja um exemplo de como definir dois elementos de dados personalizados:
<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>
<prefix_prefix:other>
Esse elemento permite que você adicione dados personalizados sem tipo. Faça referência ao prefixo do namespace no elemento <kml> de seu arquivo ou como um atributo do elemento <ExtendedData> e para prefixar o nome de cada elemento de dados com o prefixo do namespace. Dados personalizados adicionados desta forma são preservados no arquivo KML, mas não são usados pelo Google Earth de forma alguma. Sempre são salvos junto com o arquivo.
O exemplo a seguir mostra o uso do prefixo de namespace "camp":
<ExtendedData xmlns:prefix="camp">
<camp:number>14</camp:number>
<camp:parkingSpaces>2</camp:parkingSpaces>
<camp:tentSites>4</camp:tentSites>
</ExtendedData>

Contido por

Ver também

<Feature>

Sintaxe

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

Descrição

Este é um elemento abstrato e não pode ser usado diretamente em um arquivo KML. O diagrama a seguir mostra como alguns dos elementos de Feature aparecem no Google Earth.

Elementos específicos de Feature

<name>
Texto definido pelo usuário exibido no visualizador em 3D como o marcador do objeto, por exemplo, um marcador, uma pasta ou um link de rede.
<visibility>
Valor booleano. Especifica se o elemento é desenhado no visualizador em 3D quando é carregado. Para que um elemento seja visível, a tag <visibility> de todos os seus antepassados ​​também deve ser definida como 1. Na visualização de lista do Google Earth, cada Feature tem uma opção que permite ao usuário controlar a visibilidade do elemento.
<open>
Valor booleano. Especifica se um documento ou pasta aparece fechado ou aberto quando é carregado no painel "Lugares". 0=recolhido (padrão), 1=expandido. Veja também <ListStyle>. Esse elemento se aplica somente a Document, Folder e NetworkLink.
<atom:author>

O KML 2.2 é compatível com novos elementos para incluir dados sobre o autor e o site relacionado no arquivo KML. Essa informação é exibida nos resultados da pesquisa geográfica, tanto em navegadores da Terra, como o Google Earth, como em outros aplicativos, como o Google Maps. Os elementos de descrição usados no KML são os seguintes:

  • Elemento atom:author: elemento pai para atom:name
  • Elemento atom:name: o nome do autor
  • Elemento atom:link: contém o atributo href
  • Atributo href: URL da página da Web que contém o arquivo KML/KMZ

Esses elementos são definidos no formato de distribuição Atom. A especificação completa é encontrada em http://atompub.org. (veja o exemplo a seguir).

O elemento <atom:author> é o elemento pai de <atom:name>, que especifica o autor do recurso KML.

<atom:link href="..." >
Especifica o URL do site que contém este arquivo KML ou KMZ. Inclua o namespace desse elemento em qualquer arquivo KML que o utiliza: xmlns:atom="http://www.w3.org/2005/Atom" (veja o exemplo a seguir).
<address>
Um valor de string que representa um endereço não estruturado escrito como rua, cidade, endereço e/ou CEP padrão. Você pode usar a tag <address> para especificar a localização de um ponto em vez de usar coordenadas de latitude e longitude. No entanto, se um <Point> for fornecido, ele terá precedência sobre <address>. Para saber quais localidades são compatíveis com essa tag no Google Earth, acesse a Ajuda do Google Maps.
<xal:AddressDetails>
Um endereço estruturado, formatado como xAL, ou eXtensible Address Language, um padrão internacional para formatação de endereços. <xal:AddressDetails> é usado pelo KML para geocodificação apenas no Google Maps. Para ver mais detalhes, consulte a documentação da API Google Maps. No momento, o Google Earth não usa esse elemento. Use <address>. Inclua o namespace desse elemento em qualquer arquivo KML que o utiliza: xmlns:xal="urn:oasis:names:tc:ciq:xsdschema:xAL:2.0"
<phoneNumber>
Um valor de string que representa um número de telefone. Este elemento é usado pelo Google Maps Mobile apenas. O padrão da indústria para telefones celulares com Java é RFC2806.
Para mais informações, consulte http://www.ietf.org/rfc /rfc2806.txt
<Snippet maxLines="2" >
É uma breve descrição do recurso. No Google Earth, esta descrição é exibida no painel "Lugares" com o nome do elemento. Se um snippet não é fornecido, são utilizadas as duas primeiras linhas da <description>. No Google Earth, se um marcador contém uma descrição e um snippet, o <Snippet> aparece sob o marcador no painel "Lugares", e a <description> aparece no balão de descrição do marcador. Esta tag não suporta marcação HTML. <Snippet> tem um atributo maxLines, um número inteiro que especifica o número máximo de linhas a serem exibidas.
<description>

Conteúdo fornecido pelo usuário que aparece no balão de descrição.

O conteúdo suportado para o elemento <description> mudou do Google Earth 4.3 para o 5.0. Informações específicas para cada versão estão listadas abaixo, seguidas de informações comuns a ambos.

Google Earth 5.0 (link em inglês)

O Google Earth 5.0 (e posterior) suporta conteúdo de texto simples, bem como HTML completo e JavaScript, em balões de descrição. O conteúdo da tag de descrição é processado pelo mecanismo de navegador de código aberto WebKit e exibido como ele seria em qualquer navegador baseado no WebKit.

Restrições gerais

Links para arquivos locais geralmente não são permitidos. Isso evita que um código malicioso danifique seu sistema ou acesse seus dados. Se você deseja permitir o acesso a seu sistema de arquivos local, selecione Preferências > Permitir o acesso aos arquivos locais e dados pessoais. Links para arquivos de imagem no sistema de arquivos local são sempre permitidos, se contidos em uma tag <img>.

O conteúdo que foi compactado em um arquivo KMZ pode ser acessado, mesmo no sistema de arquivos local.

Os cookies estão ativados, mas para os propósitos da política de mesma origem, o conteúdo local não compartilha um domínio com nenhum outro conteúdo (incluindo outro conteúdo local).

HTML

Na maior parte do tempo, HTML é processado como seria em qualquer navegador WebKit.

Destinos são ignorados quando incluídos no HTML gravado diretamente no KML; todos esses links são abertos como se o destino estivesse definido como _blank. Todos os destinos especificados são ignorados.

No entanto, o HTML contido em um iFrame ou gerado dinamicamente com JavaScript ou DHTML, usará target = "_self" como padrão. Outros destinos podem ser especificados e são suportados.

O conteúdo dos arquivos KMZ, os links âncora locais e os métodos ;flyto não podem ser segmentados do HTML contido em um iframe.

Se o usuário especificar width="100%" para a largura de um iframe, a largura do iframe dependerá de todos os outros conteúdos no balão; ele deve, essencialmente, ser ignorado no cálculo do tamanho do layout. Essa regra se aplica também a qualquer outro elemento de bloco no balão.

JavaScript

A maior parte de JavaScript é suportada. Caixas de diálogo não podem ser criadas; funções como alert() e prompt() não serão exibidas. No entanto, elas serão gravadas no console do sistema, assim como outros erros e exceções.

CSS (link em inglês)

CSS é permitido. Assim como acontece com CSS em um navegador da Web normal, CSS pode ser usado para estilizar o texto, os elementos da página, e para controlar o tamanho e a aparência do balão de descrição.

Google Earth 4.3

O elemento <description> suporta texto simples, bem como um subconjunto de elementos de formatação HTML, incluindo tabelas (veja o exemplo KML abaixo). Ele não suporta outra tecnologia baseada na Web, como marcação de páginas dinâmicas (PHP, JSP, ASP), linguagens de script (VBScript, Javascript), nem linguagens de aplicativos (Java, Python). Na versão 4.2 do Google Earth, há suporte para vídeo. Veja o exemplo abaixo.

Informações comuns

Se sua descrição não contiver nenhuma marcação HTML, o Google Earth tentará formatá-la, substituindo novas linhas por <br> e quebrando URLs com tags de âncora. Uma string de URL válida para a World Wide Web é automaticamente convertida em um hiperlink para esse URL (por exemplo, http://www.google.com). Consequentemente, não é preciso colocar um URL entre as tags <a href="http://.."></a> para obter um link simples.

Ao utilizar HTML para criar um hiperlink em torno de uma palavra específica ou ao incluir imagens no HTML, você deve usar referências de entidade HTML ou o elemento CDATA para criar códigos de escape para colchetes, apóstrofos e outros caracteres especiais. O elemento CDATA diz ao analisador XML para ignorar os caracteres especiais utilizados dentro dos parênteses. Esse elemento tem a forma de:

<![CDATA[
  special characters here
]]> 

Se preferir não usar o elemento CDATA, você pode usar referências de entidade para substituir todos os caracteres especiais.

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

Outro comportamento especificado com o uso do elemento <a>

O KML aceita o uso de dois atributos no elemento <a>: href e type.

O elemento âncora <a> contém um atributo href que especifica um URL.

Se href for um arquivo KML e tiver uma extensão .kml ou .googleblog, o Google Earth carregará esse arquivo diretamente quando o usuário clicar nele. Se o URL terminar com uma extensão não conhecida pelo Google Earth (por exemplo, .html), ele será enviado ao navegador.

O elemento href pode ser um URL de fragmento (isto é, um URL com um sinal # seguido por um identificador KML). Quando o usuário clica em um link que inclui um URL de fragmento, por padrão, o navegador voa para o elemento cujo ID corresponde ao fragmento. Se o elemento tem um elemento LookAt ou Camera, o elemento é visto a partir do ponto de visão especificado.

É possível especificar ainda mais o comportamento anexando uma das três strings a seguir ao URL de fragmento:

  • ;flyto (padrão): voar para o elemento
  • ;bal: abre o balão do elemento, mas não voa para o elemento.
  • ; balõesFlyto: abrir o balão do elemento e voar até o elemento

Por exemplo, o código a seguir indica para abrir o arquivo CraftsFairs.kml, voar para o marcador com o ID "Albuquerque" e abrir o balão:

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

O atributo type é usado no elemento <a> quando href não termina em .kml ou .googleblog, mas a referência precisa ser interpretada no contexto KML. Especifique o seguinte:

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

Por exemplo, o URL a seguir usa o atributo type para notificar o Google Earth que ele deve tentar carregar o arquivo, mesmo que a extensão do arquivo seja .php:

<a href="myserver.com/cgi-bin/generate-kml.php#placemark123"
   type="application/vnd.google-earth.kml+xml">
<AbstractView>
Define um ponto de vista associado a qualquer elemento derivado de Elemento. Consulte <Camera> e <LookAt>.
<TimePrimitive>
Associa esse recurso a um período (<TimeSpan>) ou um ponto no tempo (<TimeStamp>).
<styleUrl>
URL de um <Style> ou <StyleMap> definido em um documento. Se o estilo estiver no mesmo arquivo, use uma referência #. Se o estilo estiver definido em um arquivo externo, use um URL completo e # referência. Por exemplo:
<styleUrl>#myIconStyleID</styleUrl>
<styleUrl>http://someserver.com/somestylefile.xml#restaurant</styleUrl>
<styleUrl>eateries.kml#my-lunch-spot</styleUrl>
<StyleSelector>
Um ou mais Styles e StyleMaps podem ser definidos para personalizar a aparência de qualquer elemento derivado de Feature ou Geometria em um marcador. Consulte <BalloonStyle>, <ListStyle>, <StyleSelector> e os estilos derivados de <ColorStyle>. Um estilo definido em um recurso é chamado de "estilo inline" e se aplica somente ao recurso que o contém. Um estilo definido como filho de um <Document> é chamado de "estilo compartilhado". Um estilo compartilhado precisa ter um id definido. Esse ID é referenciado por um ou mais elementos no <Document>. Nos casos em que um elemento de estilo é definido em um estilo compartilhado e em um estilo inline para um recurso (ou seja, uma pasta, GroundOverlay, NetworkLink, Marker ou ScreenOverlay) o valor do estilo inline do elemento tem precedência sobre o valor do estilo compartilhado.
<Region>
Os elementos e a geometria associados a uma região são desenhados somente quando a região está ativa. Consulte <Região>.
<Metadata>
<ExtendedData>
Permite adicionar dados personalizados a um arquivo KML. Esses dados podem ser (1) dados que se referem a um esquema XML externo, (2) pares de dados/valor não digitados ou (3) dados digitados. Um determinado elemento KML pode conter uma combinação desses tipos de dados personalizados.

Exemplo de uso de elementos HTML em uma descrição

Este exemplo ilustra o conjunto completo de elementos HTMLs suportados pelo elemento <description> no Google Earth 4.3. O Google Earth 5.0 e posterior suporta HTML completo e 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>

Exemplo de uso de elementos de autoria

Este exemplo mostra o uso dos elementos <atom:author>, <atom:name> e <atom:link> do namespace Atom. Você precisa fazer referência a este namespace no elemento <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>

Vídeo de amostra

Este exemplo mostra como incorporar um vídeo em Flash ao balão.

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

Estende

Estendido por

<gx:FlyTo>

Este elemento é uma extensão do padrão KML 2.2 OGC e é compatível com o Google Earth 5.0 e posterior. Saiba mais

Sintaxe

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

Descrição

<gx:FlyTo> especifica um ponto no espaço para o qual o navegador voará durante um tour. Ele precisa conter um AbstractView e os elementos <gx:duration> e <gx:flyToMode>, que especificam o tempo necessário para voar para o ponto definido a partir do ponto atual e o método de voo, respectivamente.

<gx:flyToMode>

Há dois valores permitidos para <gx:flyToMode>: smooth e bounce.

  • FlyTos smooth permitem um voo ininterrupto de ponto a ponto (e sobre). Uma série ininterrupta de FlyTos smooth começará e terminará em velocidade zero e não desacelerará em cada ponto. Uma série de FlyTos smooth é dividida por qualquer um dos seguintes elementos:
    • <gx:flyToMode>bounce</gx:flyToMode>
    • <gx:Wait>
    Isso significa que a velocidade será zero em FlyTo smooth que precede imediatamente qualquer um dos elementos acima. Uma série de FlyTos smooth não é dividida por elementos <gx:AnimatedUpdate>.

  • FlyTos bounce começam e terminam em velocidade zero.

Exemplo

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

Estende

Contém

<Folder>

Sintaxe

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

Descrição

O elemento Folder é usado para organizar outros elementos hierarquicamente (Folders, Placemarks, NetworkLinks ou Overlays). Um elemento é visível somente quando ele e todos os seus precendentes ​​são visíveis.

Exemplo

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

Estende

Contém

<Geometry>

Sintaxe

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

Descrição

Este é um elemento abstrato e não pode ser usado diretamente em um arquivo KML. Ele fornece um objeto de espaço reservado para todos os objetos derivados de geometria.

Estende

Estendido por

<GroundOverlay>

Sintaxe

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

Descrição

Este elemento desenha uma sobreposição de imagem no terreno. O filho <href> de <Icon> especifica a imagem a ser utilizada como a sobreposição. Este arquivo pode estar em um sistema de arquivos local ou em um servidor da Web. Se esse elemento for omitido ou não contiver <href>, um retângulo será desenhado usando as cores e os limites de LatLonBox definidos pela sobreposição de solo.

Elementos específicos de GroundOverlay

<altitude>
Especifica a distância acima da superfície da Terra, em metros, e é interpretado de acordo com o modo de altitude.
<altitudeMode>
Especifica como a <altitude> é interpretada. Os valores possíveis são:
  • clampToGround\: (padrão) indica para ignorar a especificação de altitude e desenhar a sobreposição sobre o terreno.
  • absolute: define a altitude da sobreposição em relação ao nível do mar, independentemente da elevação real do terreno por baixo do elemento. Por exemplo, se você definir a altitude de uma sobreposição como 10 metros, com um modo de altitude absoluta, a sobreposição parecerá ser ao nível do solo, se o terreno abaixo também estiver 10 metros acima do nível do mar. Se o terreno estiver três metros acima do nível do mar, a sobreposição aparecerá elevada, acima do terreno em sete metros.
<AndroidManifest:altitudeMode>
Uma extensão KML no namespace de extensão do Google, permitindo altitudes em relação ao fundo do mar. Os valores são os seguintes:
  • relativeToSeaFloor: interpreta a <altitude> como um valor em metros acima do fundo do mar. Se o ponto estiver acima da terra e não do mar, a <altitude> será interpretada como estando acima do solo.
  • clampToSeaFloor: a especificação <altitude> é ignorada, e a sobreposição será colocada sobre o fundo do mar. Se o ponto estiver na terra, em vez de no mar, a sobreposição estará posicionada no solo.
<LatLonBox>
Especifica onde as laterais superior, inferior, direita e esquerda de uma caixa delimitadora para a sobreposição de solo estão alinhadas.
  • <north> Especifica a latitude da borda norte da caixa delimitadora, em graus decimais de 0 a ±90.
  • <south> Especifica a latitude da borda sul da caixa delimitadora, em graus decimais de 0 a ±90.
  • <east> Especifica a longitude da borda leste da caixa delimitadora, em graus decimais de 0 a ±180. Para sobreposições que se sobrepõem ao meridiano de 180°, os valores podem se estender além desse intervalo.
  • <west> Especifica a longitude da borda oeste da caixa delimitadora, em graus decimais de 0 a ±180. Para sobreposições que se sobrepõem ao meridiano de 180°, os valores podem se estender além desse intervalo.
  • <rotation>: especifica uma rotação da sobreposição em torno do centro, em graus. Os valores podem ser ±180. O padrão é 0 (norte). As rotações são especificadas em direção anti-horário.
<LatLonBox>
   <north>48.25475939255556</north>
   <south>48.25207367852141</south>
   <east>-90.86591508839973</east>
   <west>-90.8714285289695</west>
   <rotation>39.37878630116985</rotation>
</LatLonBox> 
<gx:LatLonQuad>
Usado para sobreposições de solo quadrilaterais não retangulares.

Exemplo

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

Estende

Contido por

<Icon>

Sintaxe

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

Descrição

Define uma imagem associada a um estilo ou sobreposição de ícone. O elemento filho <href> necessário define a localização da imagem a ser usada como sobreposição ou como o ícone do marcador. Esta localização pode ser em um sistema de arquivos local ou em um servidor remoto da Web. Os elementos <mx:x>, <mx:y>, <mx:w> e <mx:h> são usados para selecionar um ícone de uma imagem que contenha vários ícones (muitas vezes chamado de paleta de ícones.

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

Elementos específicos de Icon

<href>
Um endereço HTTP ou uma especificação de arquivo local usado para carregar um ícone.
<gx:x>
e
<gx:y>
Se <href> especificar uma paleta de ícones, esses elementos identificarão os deslocamentos, em pixels, do canto inferior esquerdo da paleta.Se nenhum valor for especificado para x e y, presume-se que o canto inferior esquerdo da paleta de ícones seja o canto esquerdo de baixo do ícone a ser usado.
<gx:w>
e
<gx:h>
Se <href> especificar uma paleta de ícones, esses elementos especificarão a largura (<mx:w>) e a altura (<mx:h>) em pixels do ícone a ser usado.
<refreshMode>
Para ver uma descrição de <refreshMode> e dos outros elementos listados abaixo, consulte <Link>.
<refreshInterval>
<viewRefreshMode>
<viewRefreshTime>
<viewBoundScale>
<viewFormat>
<httpQuery>

Contido por

<IconStyle>

Sintaxe

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

Descrição

Especifica como ícones de marcadores de pontos são desenhados, tanto no painel "Lugares" quanto no visualizador em 3D do Google Earth. O elemento <Icon> especifica a imagem do ícone. O elemento <scale> especifica o dimensionamento x, y do ícone. A cor especificada no elemento <color> de <IconStyle> é misturada com a cor <Icon>.

Elementos específicos de IconStyle

<scale>
Redimensiona o ícone.

Observação: a tag <geomScale> foi desativada. Use <scale>.

<heading>
Direção (ou seja, norte, sul, leste, oeste), em graus. Padrão = 0 (Norte). Veja o diagrama. Os valores variam de 0 a 360 graus.
<Icon>
Um ícone personalizado. Em <IconStyle>, o único elemento filho de <Icon> é <href>:
  • <href>: um endereço HTTP ou uma especificação de arquivo local usado para carregar um ícone.
<hotSpot x="0.5" y="0.5" xunits="fraction" yunits="fraction">
Especifica a posição do ícone que está "ancorado" no <Point> especificado no marcador. Os valores de x e y podem ser especificados de três maneiras diferentes: como pixels ("pixels"), como frações do ícone ("fraction") ou como pixels de inserção ("insetPixels"), que são um deslocamento em pixels a partir do canto superior direito do ícone. As posições x e y podem ser especificadas de diferentes maneiras. Por exemplo, x pode estar em pixels e y em fração. A origem do sistema de coordenadas está no canto inferior esquerdo do ícone.
  • x: o número de pixels, um componente fracionado do ícone ou um pixel de inserção, indicando o componente x de um ponto sobre o ícone.
  • y: o número de pixels, um componente fracionado do ícone ou um pixel de inserção, indicando o componente y de um ponto sobre o ícone.
  • xunits: unidades em que o valor de x é especificado. Um valor de fração indica que o valor de x é uma fração do ícone. Um valor de pixels indica o valor de x em pixels. Um valor de insetPixels indica o recuo da borda direita do ícone.
  • yunits: unidades em que o valor de y é especificado. Um valor de fração indica que o valor de y é uma fração do ícone. Um valor de pixels indica o valor de y em pixels. Um valor de insetPixels indica o recuo da borda superior do ícone.

Exemplo

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

Estende

Contido por

Contém

<kml>

Sintaxe

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

Descrição

O elemento raiz de um arquivo KML. Este elemento é necessário. Segue a declaração xml no início do arquivo. O atributo hint é usado como um sinal para o Google Earth exibir o arquivo como dados celestes.

O elemento <kml> também pode incluir o namespace de quaisquer esquemas XML externos referenciados no arquivo.

Um elemento <kml> básico contém 0 ou 1 recurso e 0 ou 1 NetworkLinkControl:

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

<LabelStyle>

Sintaxe

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

Descrição

Especifica como o <name> de um Elemento é desenhado no visualizador em 3D. Uma cor personalizada, o modo de cor e a escala para o rótulo (nome) podem ser especificados.

Observação: a tag <labelColor> está desativada. Use <LabelStyle>.

Específico de <LabelStyle>

<scale>
Redimensiona o rótulo.

Exemplo

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

Estende

Contido por

<gx:LatLonQuad>

Este elemento é uma extensão do padrão KML 2.2 OGC e é compatível com o Google Earth 5.0 e posterior. Saiba mais

Sintaxe

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

Descrição

Permite sobreposições não retangulares quadrilaterais do solo.

Especifica as coordenadas dos quatro pontos de vértice de um quadrilátero que definem a área de sobreposição. Exatamente quatro tuplas coordenadas têm de ser fornecidas, cada uma consistindo em valores de pontos flutuantes de longitude e latitude. Insira um espaço entre tuplas. Não inclua espaços dentro de uma tupla. As coordenadas devem ser especificados em sentido anti-horário com a primeira coordenada correspondente ao canto inferior esquerdo da imagem sobreposta. A forma descrita por esses cantos deve ser convexa.

Se um terceiro valor for inserido em qualquer tupla (representando altitude), ele será ignorado. A altitude foi definida usando <altitude> e <altitudeMode> (ou <gx:altitudeMode>), estendendo <GroundOverlay>. Os modos de altitude permitidos são Absolute, clampToGround e clampToSeaFloor.

Exemplo

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

Estende

Contido por

<LinearRing>

Sintaxe

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

Descrição

Define uma string de linha fechada, normalmente o limite externo de um polígono. Opcionalmente, um LinearRing também pode ser utilizado como o limite interno de um polígono para criar buracos no polígono. Um polígono pode conter vários elementos <LinearRing> usados ​​como limites internos.

Observação: no Google Earth, um polígono com um <altitudeMode> de clampToGround segue linhas de rumo constante; no entanto, um LinearRing (por si só) com um <altitudeMode> de clampToGround segue grandes linhas circulares.

Elementos específicos de LinearRing

<gx:altitudeOffset>
Uma extensão KML, no namespace de extensão do Google, que modifica como os valores de altitude são renderizados. Esse deslocamento permite mover um LinearRing inteiro para cima ou para baixo como uma unidade sem modificar todos os valores de coordenadas individuais que compõem o LinearRing. Embora o LinearRing seja exibido usando o valor de deslocamento de altitude, os valores de altitude originais são preservados no arquivo KML. As unidades estão em metros.
<extrude>
Valor booleano. Especifica se o LinearRing deve ser conctado ao solo ou não. Para extrudar essa geometria, o modo de altitude deve ser relativeToGround, relativeToSeaFloor ou absoluto. Apenas os vértices do LinearRing são extrudados, não o centro da geometria. Os vértices são extrudados em direção ao centro da esfera da Terra.
<tessellate>
Valor booleano. Especifica se deve permitir que o LinearRing siga o terreno. Para ativar esse recurso, o valor para <altitudeMode> deve ser clampToGround ou clampToSeaFloor. LinearRings muito grandes devem ativar a tecelagem para que sigam a curvatura da terra (caso contrário, eles podem ir embaixo da Terra e ser ocultos).
<altitudeMode>
Especifica como os componentes de altitude no elemento <Coordinates> são interpretados. Os valores possíveis são:
  • clampToGround: (padrão) indica para ignorar uma especificação de altitude (por exemplo, na tag <Coordinates>).
  • relativeToGround: define a altitude do elemento em relação à elevação do terreno real de um determinado local. Por exemplo, se a elevação do solo de uma localização é exatamente no nível do mar, e a altitude de um ponto é definida como nove metros, a elevação para o ícone de uma elevação de marcador de ponto é de nove metros com este modo. No entanto, se a mesma coordenada for definida ao longo de um local onde a elevação do solo é de 10 metros acima do nível do mar, a elevação da coordenada será de 19 metros. Um uso típico deste modo é na colocação de postes de telefone ou um teleférico.
  • absolute: define a altitude da coordenada em relação ao nível do mar, independentemente da elevação real do terreno por baixo do elemento. Por exemplo, se você definir a altitude de uma coordenada como 10 metros com um modo de altitude absoluto, o ícone de um ponto de marcador parecerá estar no nível do solo se o terreno abaixo também estiver 10 metros acima do nível do mar. Se o terreno estiver três metros acima do nível do mar, o marcador aparecerá elevado, acima do terreno em sete metros. Um uso típico deste modo é no posicionamento de aeronaves.
<AndroidManifest:altitudeMode>
Uma extensão KML no namespace de extensão do Google, permitindo altitudes em relação ao fundo do mar. Os valores são os seguintes:
  • relativeToSeaFloor: interpreta a <altitude> como um valor em metros acima do fundo do mar. Se o ponto estiver acima da terra e não do mar, a <altitude> será interpretada como estando acima do solo.
  • clampToSeaFloor: a especificação <altitude> é ignorada, e o ponto será posicionado no fundo do mar. Se o ponto estiver na terra, em vez de no mar, o ponto estará posicionado no solo.
<coordinates> (obrigatório)
Quatro ou mais tuplas, cada uma consistindo em valores de ponto flutuante de longitude, latitude e altitude. O componente altitude é opcional. Não inclua espaços dentro de uma tupla. A última coordenada deve ser a mesma que a primeira coordenada. As coordenadas são expressas apenas em graus decimais.

Exemplo

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

Estende

Contido por

<LineString>

Sintaxe

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

Descrição

Define um conjunto de segmentos de linha ligados. Use <LineStyle> para indicar a cor, o modo de cor e a largura da linha. Quando uma LineString é removida, a linha é estendida até o solo, formando um polígono que parece um pouco com uma parede ou um muro. Para LineStrings removidas, a própria linha usa o LineStyle atual e a extrusão usa o PolyStyle atual. Consulte o Tutorial de KML para ver exemplos de LineStrings (ou paths).

Elementos específicos de LineString

<AndroidManifest:altitudeOffset>
Uma extensão KML, no namespace de extensão do Google, que modifica como os valores de altitude são renderizados. Esse deslocamento permite mover uma LineString inteira para cima ou para baixo como uma unidade sem modificar todos os valores de coordenadas individuais que compõem a LineString. Embora a LineString seja exibida usando o valor de deslocamento de altitude, os valores de altitude originais são preservados no arquivo KML. As unidades são em metros.
<extrude>
Valor booleano. Especifica se deve LineString deve ser conectado ao solo. Para a extrusão de uma LineString, o modo de altitude precisa ser relativeToGround, relativeToSeaFloor ou Absolute. Os vértices na LineString são extrudados em direção ao centro da esfera da Terra.
<tessellate>
Valor booleano. Especifica se deve permitir que a LineString siga o terreno. Para ativar esse recurso, o modo de altitude deve ser clampToGround ou clampToSeaFloor. LineStrings muito grandes devem ativar a tecelagem para que sigam a curvatura da terra (caso contrário, elas podem ir para baixo da terra e ficarem ocultas).
<altitudeMode>
Especifica como os componentes de altitude no elemento <Coordinates> são interpretados. Os valores possíveis são:
  • clampToGround: (padrão) indica que uma especificação de altura (por exemplo, na tag <coordinates>) deve ser ignorada.
  • relativeToGround: define a altitude do elemento em relação à elevação do terreno real de um determinado local. Por exemplo, se a elevação do solo de uma localização é exatamente no nível do mar, e a altitude de um ponto é definida como nove metros, a elevação para o ícone de uma elevação de marcador de ponto é de nove metros com este modo. No entanto, se a mesma coordenada for definida ao longo de um local onde a elevação do solo é de 10 metros acima do nível do mar, a elevação da coordenada será de 19 metros. Um uso típico deste modo é na colocação de postes de telefone ou um teleférico.
  • absolute: define a altitude da coordenada em relação ao nível do mar, independentemente da elevação real do terreno por baixo do elemento. Por exemplo, se você definir a altitude de uma coordenada como 10 metros com um modo de altitude absoluto, o ícone de um ponto de marcador parecerá estar no nível do solo se o terreno abaixo também estiver 10 metros acima do nível do mar. Se o terreno estiver três metros acima do nível do mar, o marcador aparecerá elevado, acima do terreno em sete metros. Um uso típico deste modo é no posicionamento de aeronaves.
<AndroidManifest:altitudeMode>
Uma extensão KML no namespace de extensão do Google, permitindo altitudes em relação ao fundo do mar. Os valores são os seguintes:
  • relativeToSeaFloor: interpreta a <altitude> como um valor em metros acima do fundo do mar. Se o ponto estiver acima da terra e não do mar, a <altitude> será interpretada como estando acima do solo.
  • clampToSeaFloor: a especificação <altitude> é ignorada, e o ponto será posicionado no fundo do mar. Se o ponto estiver na terra, em vez de no mar, o ponto estará posicionado no solo.
<Salesforce:drawOrder>
Um valor inteiro que especifica a ordem para desenhar várias strings de linha. LineStrings desenhadas primeiro podem ser parcial ou totalmente obscurecidas por LineStrings com uma ordem de desenho posterior. Esse elemento pode ser necessário com os elementos <gx:outerColor> e <gx:outerWidth> em <LineStyle>, quando as linhas de duas cores se cruzam.
<coordinates> (obrigatório)
Duas ou mais tuplas de coordenadas, cada uma consistindo em valores de pontos flutuantes de longitude, latitude e altitude. O componente altitude é opcional. Insira um espaço entre tuplas. Não inclua espaços dentro de uma tupla.

Exemplo

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

Estende

Contido por

<LineStyle>

Sintaxe

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

Descrição

Especifica o estilo de desenho (cor, modo de cor e largura da linha) para toda a geometria de linha. A geometria de linha inclui os contornos de polígonos delineados e a "corda" removida de ícones de marcador (se a extrusão estiver ativada).

Elementos específicos de LineStyle

<width>
Largura da linha, em pixels.
<gx:outerColor>
Cor da parte da linha definida por <gx:outerWidth>. Os elementos <mx:outerColor> e <mx:outerWidth> são ignorados quando <LineStyle> é aplicado a <Polygon> e <LinearRing>.
<gx:outerWidth>
Um valor entre 0,0 e 1,0 que especifica a proporção da linha que usa <gx:outerColor>. Aplicável apenas a linhas que definem a largura com <gx:physicalWidth>. Ela não se aplica a linhas que usam <width>. Veja também <gx:drawOrder> em <LineString>. Um valor de ordem de desenho poderá ser necessário se as linhas de duas cores estiverem se cruzando, por exemplo, para mostrar alternâncias de rodovias.
<gx:physicalWidth>
Largura física da linha, em metros.
<gx:labelVisibility>
É um booleano que define se um rótulo de texto é exibido ou não em uma LineString. O rótulo de uma LineString está contido no elemento <name> que é um irmão de <LineString> (ou seja, dentro do mesmo elemento <Placemark>).

Por padrão, o Google Earth versão 6.1+ não exibe rótulos. Eles precisam ser ativados para cada LineString definindo <gx:labelVisibility> como 1.

Problema conhecido do Google Earth 6.1: LineStrings sem um elemento <gx:physicalWidth> só exibirão o rótulo se o comprimento da linha for maior que 100 m * o número de caracteres no rótulo. Por exemplo, um rótulo com sete caracteres ("exemplo") só será exibido se a linha for maior que 700 m. Isso não afeta LineStrings com um valor <gx:physicalWidth>.

Exemplo

O exemplo a seguir mostra uma linha vermelha opaca de 50 por cento, com uma largura de 4 pixels.

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

Estende

Contido por

Sintaxe

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

Descrição

<Link> especifica a localização de qualquer um dos seguintes itens:

  • Arquivos KML obtidos por links de rede
  • Arquivos de imagem usados ​​em qualquer Overlay (o elemento <Icon> especifica a imagem em um Overlay; <Icon> tem os mesmos campos de <Link>)
  • Arquivos de modelo usados ​​no elemento <Model>

O arquivo é condicionalmente carregado e atualizado, de acordo com os parâmetros de atualização fornecidos aqui. Dois conjuntos diferentes de parâmetros de atualização podem ser especificados: um conjunto é baseado no tempo (<refreshMode> e <refreshInterval>) e outro é baseado na visualização "câmera" atual (<viewRefreshMode> e <viewRefreshTime>). Além disso, o link especifica se é necessário escalonar os parâmetros da caixa delimitadora que são enviados ao servidor (<viewBoundScale>) e fornece um conjunto de parâmetros de visualização opcionais que podem ser enviados ao servidor, além de informações, como

Quando um arquivo é obtido, o URL que é enviado para o servidor é composto de três partes de informação:

  • a href (referência de hipertexto) que especifica o arquivo a ser carregado.
  • uma string de formato arbitrário que é criada a partir de (a) parâmetros que você especifica no elemento <viewFormat> ou (b) parâmetros da caixa delimitadora (este é o padrão e é usado se nenhum elemento <viewFormat> está incluído no arquivo).
  • uma segunda string de formato que é especificada no elemento <httpQuery>.

Se o arquivo especificado em <href> for um arquivo local, os elementos <viewFormat> e <httpQuery> não serão usados.

O elemento <Link> substitui o elemento <Url> de <NetworkLink> contido em versões anteriores do KML e adiciona funcionalidade para o elemento <Region> (introduzido no KML 2.1). No Google Earth versões 3.0 e anteriores, o elemento <Link> é ignorado.

<href>
Um URL (um endereço HTTP ou uma especificação de arquivo local). Quando o pai de <Link> é um link de rede, <href> é um arquivo KML. Quando o pai de <Link> é um modelo, <href> é um arquivo COLLADA. Quando o pai de <Icon> (mesmos campos que <Link>) é uma sobreposição, <href> é uma imagem. URLs relativos podem ser usados nesta tag e são avaliados em relação ao arquivo KML delimitador. Consulte Arquivos KMZ para ver detalhes sobre como construir referências relativas em arquivos KML e KMZ.
<refreshMode>
Especifica um modo de atualização com base no tempo, que pode ser um dos seguintes:
  • onChange: atualizar quando o arquivo for carregado e sempre que os parâmetros de Link mudarem (o padrão).
  • onInterval: atualizar a cada n segundos (especificados no <refreshInterval>).
  • onExpire: atualizar o arquivo quando o tempo de expiração for atingido. Se um arquivo buscado tiver um NetworkLinkControl, o tempo <expires> terá precedência sobre os prazos de validade especificados nos cabeçalhos HTTP. Se nenhum tempo <expires> for especificado, será usado o cabeçalho HTTP max-age (se estiver presente). Se max-age não estiver presente, o cabeçalho HTTP Expira será usado, se estiver presente. Consulte a seção RFC261b do Hypertext Transfer Protocol - HTTP 1.1 para detalhes sobre os campos de cabeçalho HTTP.
<refreshInterval>
Indica para atualizar o arquivo a cada n segundos.
<viewRefreshMode>
Especifica como o link é atualizado quando a "câmera" muda.
Pode ser um dos seguintes:
  • never (padrão): ignorar as mudanças na visualização. Ignorar também parâmetros <viewFormat>, se houver.
  • onStop: atualizar o arquivo n segundos após o término do movimento, onde n é especificado em <viewRefreshTime>.
  • onRequest: atualizar o arquivo somente quando o usuário solicitar explicitamente. Por exemplo, no Google Earth, o usuário clica com o botão e seleciona "Atualizar" no menu de contexto.
  • onRegion: atualizar o arquivo quando a região estiver ativa. Consulte <Região>.
<viewRefreshTime>
Depois que o movimento da câmera termina, especifica o número de segundos de espera antes de atualizar a visualização. Consulte <viewRefreshMode> e onStop acima.
<viewBoundScale>
Dimensiona os parâmetros BBOX antes de enviá-los ao servidor. Um valor inferior a 1 especifica para usar menos que a visualização completa (tela). Um valor superior a 1 especifica para buscar uma área que se estende além das bordas da visualização atual.
<viewFormat>
Especifica o formato da string de consulta que é anexada a <href> do link antes da busca do arquivo. Se <href> especificar um arquivo local, esse elemento será ignorado.
Se você especificar um <viewRefreshMode> de onStop e não incluir a tag <viewFormat> no arquivo, as seguintes informações serão anexadas automaticamente à string de consulta:

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

Essas informações correspondem à especificação da caixa delimitadora do Web Map Service (WMS).
Se você especificar uma tag <viewFormat> vazia, nenhuma informação será anexada à string de consulta.
Também é possível especificar um conjunto personalizado de parâmetros de visualização a serem adicionados à string de consulta. Se você fornecer uma string de formato, ela será usada em vez das informações BBOX. Se você também deseja as informações BBOX, precisa adicionar esses parâmetros, juntamente com os parâmetros personalizados.
É possível usar qualquer um dos seguintes parâmetros na string de formato. O Google Earth vai substituir o valor atual apropriado no momento em que a string de consulta for criada:
  • [LookatLon], [lookatLat]: longitude e latitude do ponto que <LookAt> está visualizando
  • [lookatRange], [lookatGradient], [lookatheading]: valores usados pelo elemento <LookAt> (veja as descrições de <range>, <tilt> e <heading> em <LookAt>)
  • [lookatElevationLon], [lookatElevationLat], [lookatElevationAlt]: ponto no terreno em graus/metros que <LookAt> está visualizando
  • [CameraLon], [cameraLat], [cameraAlt]: graus/metros do ponto de mira da câmera
  • [horizFov], [vertFov]: campo de visão horizontal, vertical da câmera
  • [horizPixels], [vertPixels]: tamanho em pixels do visualizador em 3D
  • [terrainEnabled]: indica se o visualizador em 3D está mostrando terreno
<httpQuery>
Anexa informações à string de consulta com base nos parâmetros especificados. O Google Earth substitui o valor atual apropriado no momento em que cria a string de consulta. Os parâmetros a seguir são aceitos:
  • [clientVersion]
  • [KMLVersion]
  • [nomedocliente]
  • [idioma]

Exemplo

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

Estende

Contido por

Ver também

<ListStyle>

Sintaxe

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

Descrição

Especifica como um elemento é exibido na visualização de lista. A visualização de lista é uma hierarquia de contêineres e filhos; no Google Earth, isso é o painel Locais.

Elementos específicos de ListStyle

<listItemType>
Especifica como um recurso é exibido na visualização em lista. Os valores possíveis são os seguintes:
  • check (padrão): a visibilidade do elemento está ligada à caixa de seu item.
  • radioFolder: quando especificado para um contêiner, apenas um dos itens do contêiner é visível de cada vez
  • checkOffOnly: quando especificado para um contêiner ou link de rede, impede que todos os itens fiquem visíveis de uma só vez, ou seja, o usuário pode desativar tudo no contêiner ou link de rede, mas não pode ativar tudo ao mesmo tempo. Essa configuração é útil para contêineres ou links de rede que contêm grandes quantidades de dados.
  • checkHideChildren: use uma caixa normal para visibilidade, mas não exiba o filho do contêiner ou link de rede na visualização de lista. Uma caixa de seleção permite ao usuário alternar a visibilidade dos objetos filho no visualizador.
<bgColor>
Cor de fundo do snippet. Os valores de cor e opacidade são expressos em notação hexadecimal. O intervalo de valores para qualquer cor é de 0 a 255 (00 a ff). Para alfa, 00 é totalmente transparente, e ff é totalmente opaco. A ordem da expressão é aabbggrr, em que aa=alpha (00 a ff); bb=blue (00 a ff); gg=green (00 a ff); rr=red (00 a ff). Por exemplo, se você quiser aplicar uma cor azul com 50% de opacidade a uma sobreposição, especifique o seguinte: <color>7fff0000</color>, em que alpha=0x7f, blue=0xff, green=0x00 e red=0x00.
<ItemIcon>
Ícone usado na visualização em lista e que reflete o estado de uma busca de pasta ou link. Os ícones associados aos modos aberto e fechado são usados para pastas e links de rede. Os ícones associados aos modos error e fetching0, fetching1 e fetching2 são usados para Links de rede. A captura de tela a seguir ilustra os ícones do Google Earth para estes estados:
<estado>
Especifica o estado atual de NetworkLink ou Folder. Os valores possíveis são open, closed, error, fetching0, fetching1 e fetching2. Esses valores podem ser combinados inserindo-se espaço entre os dois valores (sem vírgula).
<href>
Especifica o URI da imagem usada na visualização em lista do recurso.

Exemplo

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

Estende

Contido por

<LookAt>

Sintaxe

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

Descrição

Define uma câmara virtual que está associada a qualquer elemento derivado de Elemento. O elemento LookAt posiciona a "câmera" em relação ao objeto que está sendo visualizado. No Google Earth, a visualização "voa para" este ponto de visão LookAt quando o usuário clica duas vezes em um item no painel "Lugares" ou clica duas vezes em um ícone no visualizador em 3D.

Elementos específicos de lookAt

<longitude>
Longitude do ponto que a câmera está olhando. Distância angular em graus, em relação ao Meridiano de Greenwich. Os valores a Oeste do Meridiano variam de -180 a 0 graus. Os valores a Leste do Meridiano variam de 0 a 180 graus.
<latitude>
Latitude do ponto observado pela câmera. Graus ao Norte ou ao Sul do Equador (0 graus). Os valores variam de -90 a 90 graus.
<altitude>
Distância da superfície da Terra, em metros. Interpretada de acordo com o modo de altitude de LookAt.
<heading>
Direção (ou seja, norte, sul, leste, oeste), em graus. Padrão = 0 (Norte). Veja o diagrama abaixo. Os valores variam de 0 a 360 graus.
<tilt>
Ângulo entre a direção da posição LookAt e o normal na superfície da Terra Veja o diagrama abaixo. Os valores variam entre 0 e 90 graus. Valores para <tilt> não podem ser negativos. Um valor <tilt> de 0 graus indica visualização diretamente de cima. Um valor <tilt> de 90 graus indica visualização ao longo do horizonte.
<range> (obrigatório)
Distância em metros do ponto especificado por <longitude>, <latitude> e <altitude> para a posição LookAt. Veja o diagrama abaixo.
<altitudeMode>
Especifica como a <altitude> especificada para o ponto LookAt é interpretada. Os valores possíveis são os seguintes:
  • clampToGround: (padrão) indica para ignorar a especificação <altitude> e colocar a posição LookAt no solo.
  • relativeToGround: interpreta a <altitude> como um valor em metros acima do solo.
  • absolute: interpreta a <altitude> como um valor em metros acima do nível do mar.
<gx:altitudeMode>
Uma extensão KML no namespace de extensão do Google, permitindo altitudes em relação ao fundo do mar. Os valores são os seguintes:
  • relativeToSeaFloor: interpreta a <altitude> como um valor em metros acima do fundo do mar. Se o ponto estiver acima da terra e não do mar, a <altitude> será interpretada como estando acima do solo.
  • clampToSeaFloor: a especificação <altitude> é ignorada, e LookAt será posicionado no fundo do mar. Se o ponto estiver na terra, em vez de no mar, LookAt estará posicionado no solo.

Este diagrama ilustra os elementos <range>, <tilt> e <altitude>:

 

Este diagrama ilustra o elemento <heading>:

 

Leste = 90, South = 180, Oeste = 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>

Estende

Contido por

<Model>

Sintaxe

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

Descrição

Um objeto 3D descrito em um arquivo COLLADA (referenciado na tag <Link>). Os arquivos COLLADA têm uma extensão .dae. Os modelos são criados em seu próprio espaço de coordenadas e, em seguida, localizados, posicionados e dimensionados no Google Earth. Consulte a página "Tópicos em KML" em Modelos para obter mais detalhes.

O Google Earth é compatível com o perfil comum COLLADA, com as seguintes exceções:

  • O Google Earth suporta apenas triângulos e linhas como tipos primitivos. O número máximo permitido de triângulos é 21.845.
  • O Google Earth não oferece suporte a animações ou skins.
  • O Google Earth não suporta referências de geometria externas.

Elementos específicos de Model

<altitudeMode>
Especifica como a <altitude> especificada em <Location> é interpretada. Os valores possíveis são os seguintes:
  • clampToGround: (padrão) indica para ignorar a especificação <altitude> e colocar o modelo no solo.
  • relativeToGround: interpreta a <altitude> como um valor em metros acima do solo.
  • absolute: interpreta a <altitude> como um valor em metros acima do nível do mar.
<AndroidManifest:altitudeMode>
Uma extensão KML no namespace de extensão do Google, permitindo altitudes em relação ao fundo do mar. Os valores são os seguintes:
  • relativeToSeaFloor: interpreta a <altitude> como um valor em metros acima do fundo do mar. Se o ponto estiver acima da terra e não do mar, a <altitude> será interpretada como estando acima do solo.
  • clampToSeaFloor: a especificação <altitude> é ignorada, e o modelo será posicionado no fundo do mar. Se o ponto estiver na terra, em vez de no mar, o modelo estará posicionado no solo.
<Local>
Especifica as coordenadas exatas da origem do modelo em latitude, longitude e altitude. As medidas de latitude e longitude são projeção de latitude/longitude padrão com datum WGS84. Altitude é a distância acima da superfície da Terra, em metros, e é interpretada de acordo com <altitudeMode> ou <mx:altitudeMode>.
<Location>
  <longitude>39.55375305703105</longitude>
  <latitude>-118.9813220168456</latitude>
  <altitude>1223</altitude>
</Location> 
<Orientation>
Descreve a rotação do sistema de coordenadas de um modelo 3D para posicionar o objeto no Google Earth. Veja os diagramas abaixo.
<Orientation>
  <heading>45.0</heading>
  <tilt>10.0</tilt>
  <roll>0.0</roll>
</Orientation> 

As rotações são aplicadas a um modelo na seguinte ordem:

  1. <roll>
  2. <tilt>
  3. <heading>
<heading>
Rotação no eixo z, normal na superfície da Terra. Um valor de 0 (o padrão) é igual a Norte. Uma rotação positiva é feita no sentido horário no eixo z e especificada em graus de 0 a 360.
<tilt>
Rotação no eixo x. Uma rotação positiva é feita no sentido horário em torno do eixo x e especificada em graus de 0 a 180.
<roll>
Rotação no eixo y. Uma rotação positiva é feita no sentido horário ao redor do eixo Y e é especificada em graus de 0 a 180.
heading, tilt and roll são especificados no sentido horário quando se olha o eixo para baixo em direção à origem
Este diagrama ilustra a orientação típica dos eixos de um modelo:
Para um modelo típico, +x é para a direita, +y é para a frente e orientado para o Norte, e +z é para cima
<Escala>
Redimensiona um modelo ao longo dos eixos x, y e z no espaço de coordenadas do modelo.
<Scale>
<x>2.5</x>
<y>2.5</y>
<z>3.5</z>
</Scale>
Especifica o arquivo a ser carregado e os parâmetros de atualização opcionais. Consulte <Link>.
<ResourceMap>
Especifica 0 ou mais elementos <Alias>, cada um sendo um mapeamento para o caminho do arquivo de textura do arquivo Collada original para o arquivo KML ou KMZ que contém o modelo. Esse elemento permite mover e renomear arquivos de textura sem ter que atualizar o arquivo Collada original que faz referência a essas texturas. Um elemento <ResourceMap> pode conter vários mapeamentos de diferentes arquivos Collada (de origem) para o mesmo arquivo KMZ (de destino).
<Alias>
<targetHref>../images/foo.jpg</targetHref> <sourceHref>c:\mytextures\foo.jpg</sourceHref> </Alias>
<Alias> contém um mapeamento de um <sourceHref> para um <targetHref>:
<targetHref>,
Especifica o arquivo de textura a ser buscado pelo Google Earth. Essa referência pode ser uma referência relativa a um arquivo de imagem dentro do arquivo .googleblog ou pode ser uma referência absoluta ao arquivo (por exemplo, um URL).
<sourceHref>
É o caminho especificado para o arquivo de textura no arquivo Collada .dae.
No Google Earth, se esse mapeamento não for fornecido, as regras a seguir serão usadas para localizar as texturas referenciadas no arquivo Collada (.dae):
  • Sem caminho: se o nome da textura não inclui um caminho, o Google Earth procura a textura no mesmo diretório do arquivo .dae que o referencia.
  • Caminho relativo: se o nome da textura inclui um caminho relativo (por exemplo, ../images/mytexture.jpg), o Google Earth interpreta o caminho como relativo ao arquivo .dae que faz referência a ele.
  • Caminho absoluto: se o nome da textura for um caminho absoluto (c:\mytexture.jpg) ou de rede (por exemplo, http://myserver.com/mytexture.jpg), o Google Earth procurará o arquivo no local especificado, independentemente de onde o arquivo .dae estiver.

Exemplo

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

Estende

Contido por

<MultiGeometry>

Sintaxe

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

Descrição

Um contêiner para zero ou mais primitivas de geometria associadas ao mesmo elemento.

Observação: a tag <GeometryCollection> foi desativada. Use <MultiGeometry>.

Elementos específicos de MultiGeometry

Exemplo

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

Estende

Contido por

<gx:MultiTrack>

Este elemento é uma extensão do padrão KML 2.2 OGC e é compatível com o Google Earth 5.2 e posterior. Saiba mais

Sintaxe

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

Descrição

Um elemento de várias faixas é usado para combinar vários elementos da trilha em uma única unidade conceitual. Por exemplo, suponha que você colete dados de GPS para um passeio de bicicleta de um dia, que inclui várias paradas para descanso e uma parada para o almoço. Por causa das interrupções no tempo, um passeio de bicicleta pode aparecer como quatro faixas diferentes quando os tempos e as posições são plotados. O agrupamento desses elementos <gx:Track> em um contêiner <gx:MultiTrack> faz com que eles sejam exibidos no Google Earth como seções de um caminho único. Quando o ícone atinge o fim de um segmento, ele se move para o início do segmento seguinte. O elemento <gx:interpolate> especifica se deve parar no final de uma faixa e saltar imediatamente para o início do próximo ou interpolar os valores ausentes entre as duas faixas.

Elementos específicos de gx:MultiTrack

<altitudeMode>
Especifica como os componentes de altitude no elemento <Coordinates> são interpretados. Os valores possíveis são:
  • clampToGround: (padrão) indica que uma especificação de altura (por exemplo, na tag <gx:coord>) deve ser ignorada.
  • relativeToGround: define a altitude do elemento em relação à elevação do terreno real de um determinado local. Por exemplo, se a elevação do solo de uma localização é exatamente no nível do mar, e a altitude de um ponto é definida como nove metros, a elevação para o ícone de uma elevação de marcador de ponto é de nove metros com este modo. No entanto, se a mesma coordenada for definida ao longo de um local onde a elevação do solo é de 10 metros acima do nível do mar, a elevação da coordenada será de 19 metros.
  • absolute: define a altitude da coordenada em relação ao nível do mar, independentemente da elevação real do terreno por baixo do elemento. Por exemplo, se você definir a altitude de uma coordenada como 10 metros com um modo de altitude absoluto, o ícone de um ponto de marcador parecerá estar no nível do solo se o terreno abaixo também estiver 10 metros acima do nível do mar. Se o terreno estiver três metros acima do nível do mar, o marcador aparecerá elevado, acima do terreno em sete metros.
<AndroidManifest:altitudeMode>
Uma extensão KML no namespace de extensão do Google, permitindo altitudes em relação ao fundo do mar. Os valores são os seguintes:
  • relativeToSeaFloor: interpreta a altitude como um valor em metros acima do fundo do mar. Se o ponto estiver acima da terra em vez do mar, a altitude será interpretada como estando acima do solo.
  • clampToSeaFloor: a especificação de altitude é ignorada, e o ponto será posicionado no fundo do mar. Se o ponto estiver na terra, em vez de no mar, o ponto estará posicionado no solo.
<AndroidManifest:interpolate>
Valor booleano. Se a várias faixas contém vários elementos <mx:Track>, especifica se os valores ausentes precisam ser interpolados entre o fim da primeira faixa e o início da próxima. Quando o valor padrão (0) é usado, o ícone ou modelo para no final de uma faixa e passa para o início da próxima.

Contém

Sintaxe

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

Descrição

Referencia um arquivo KML ou KMZ em uma rede local ou remota. Use o elemento <Link> para especificar a localização do arquivo KML. Nesse elemento, você pode definir as opções de atualização para atualizar o arquivo, com base no tempo e na mudança da câmera. Links de rede podem ser usados em combinação com regiões para tratar grandes conjuntos de dados de forma eficiente.

<refreshVisibility>
Valor booleano. Um valor de 0 deixa a visibilidade dos elementos sob controle do usuário do Google Earth. Defina o valor como 1 para reiniciar a visibilidade dos elementos cada vez que o link de rede é atualizado. Por exemplo, suponha que um marcador do arquivo KML vinculado tem <visibility> definido como 1 e o link de rede tem <refreshVisibility> definido como 1. Quando o arquivo é carregado pela primeira vez no Google Earth, o usuário pode limpar a caixa de seleção ao lado do item para desativar a exibição no visualizador em 3D.= No entanto, quando o link de rede for atualizado, o marcador ficará visível novamente, já que seu estado de visibilidade original é TRUE.
<flyToView>
Valor booleano. Um valor de 1 faz com que o Google Earth voe para a visualização de LookAt ou Camera no NetworkLinkControl (se existir). Se o NetworkLinkControl não contiver um elemento AbstractView, o Google Earth voará para o elemento LookAt ou Camera no filho do Elemento dentro do elemento <kml> no arquivo atualizado. Se o elemento <kml> não tiver um LookAt ou Camera especificado, a visualização permanecerá inalterada. Por exemplo, o Google Earth voará para a visualização <LookAt> do documento pai, não o <LookAt> dos marcadores contidos no documento.

Dica: para exibir a pasta ou o documento de nível superior em um link de rede na visualização em lista, atribua um ID à pasta ou ao documento. Sem esse ID, apenas os nomes de objetos filhos são exibidos na visualização em lista.

Exemplo

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

Estende

Contido por

<NetworkLinkControl>

Sintaxe

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

Descrição

Controla o comportamento de arquivos procurados por um <NetworkLink>.

Elementos específicos de NetworkLinkControl

<minRefreshPeriod>
Especificado em segundos, o <minRefreshPeriod> é o tempo mínimo permitido entre buscas do arquivo. Este parâmetro permite que os servidores acelerem as buscas de um determinado arquivo e personalizem taxas de atualização conforme a taxa esperada de alteração dos dados. Por exemplo, um usuário pode definir uma atualização de link como 5 segundos, mas você pode definir o período de atualização mínimo como 3.600 para limitar as atualizações para uma vez a cada hora.
<maxSessionLength>
Especificado em segundos, <maxSessionLength> é o tempo máximo pelo qual o NetworkLink do cliente pode permanecer conectado. O valor padrão de -1 indica que a sessão não é encerrada explicitamente.
Use este elemento para anexar uma string à consulta de URL na próxima atualização do link de rede. Você pode usar esses dados em seu script para proporcionar um tratamento mais inteligente no lado do servidor, incluindo a consulta de versão e entrega condicional de arquivos.
<message>
Você pode enviar uma mensagem pop-up, como diretrizes de uso para seu link de rede. A mensagem aparece quando o link de rede é carregado pela primeira vez no Google Earth ou quando é alterado no controle de link de rede.
<linkName>
É possível controlar o nome do link de rede pelo servidor para que as alterações feitas no nome do lado do cliente sejam substituídas pelo servidor.
<linkDescription>
É possível controlar a descrição do link de rede pelo servidor para que as alterações feitas na descrição no lado do cliente sejam substituídas pelo servidor.
<linkSnippet maxLines="2" >
É possível controlar o snippet do link de rede do servidor. Assim, as alterações feitas no snippet no lado do cliente serão substituídas pelo servidor. <linkSnippet> tem um atributo maxLines, um número inteiro que especifica o número máximo de linhas a serem exibidas.
<expires>
Você pode especificar uma data/hora em que o link deve ser atualizado. Esta especificação tem efeito somente quando o <refreshMode> em <Link> tem um valor de onExpire. Consulte <refreshMode>
<Update>
Com <Update>, você pode especificar qualquer número de tags Change, Create e Delete de um arquivo .kml ou arquivo .googleblog que tenha sido carregado anteriormente com um link de rede. Consulte <Update>.
<ResumoView>

Exemplo

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

Estende

  • Este é um filho direto do elemento <kml>.

Contido por

  • <kml>

Ver também

<Object>

Sintaxe

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

Descrição

Esta é uma classe base abstrata e não pode ser usada diretamente em um arquivo KML. Ele fornece o atributo , que permite a identificação única de um elemento KML e o atributo targetId, que é usado para fazer referência a objetos que já foram carregados no Google Earth. O atributo id deve ser atribuído se o mecanismo <Update> for usado.

<Overlay>

Sintaxe

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

Descrição

Este é um elemento abstrato e não pode ser usado diretamente em um arquivo KML. <Overlay> é o tipo base de sobreposições de imagens desenhadas sobre a superfície do planeta ou na tela. <Icon> especifica a imagem a ser usada e pode ser configurado para recarregar as imagens com base em um temporizador ou por alterações da câmera. Este elemento também inclui especificações para empilhar a ordem de diversas sobreposições e para adicionar os valores de cor e transparência à imagem base.

Elementos específicos de Overlay

<color>
Os valores de cor são expressos em notação hexadecimal, incluindo os valores de opacidade (alfa). A ordem da expressão é alfa, azul, verde, vermelho (aabbggrr). O intervalo de valores de qualquer cor é de 0 a 255 (00 a ff). para opacidade, 00 é totalmente transparente, e ff é totalmente opaco. Por exemplo, se você quiser aplicar uma cor azul com 50% de opacidade a uma sobreposição, especifique o seguinte: <color>7fff0000</color>

Observação: o elemento <geomColor> foi desativado. Use <color>.

<drawOrder>
Este elemento define a ordem de empilhamento das imagens em sobreposições. Sobreposições com valores <drawOrder> mais altos são desenhados em cima de sobreposições com valores <drawOrder> mais baixos.
<Icon>
Define a imagem associada à sobreposição. O elemento <href> define a localização da imagem a ser usada como a sobreposição. Este local pode ser um sistema de arquivos local ou um servidor da Web. Se esse elemento é omitido ou não contém <href>, um retângulo é desenhado usando a cor e o tamanho definidos pela sobreposição de solo ou tela.
<Icon>
   <href>icon.jpg</href>
</Icon>

Estende

Estendido por

<PhotoOverlay>

Sintaxe

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

Descrição

O elemento <PhotoOverlay> permite localizar geograficamente uma fotografia sobre a Terra e especificar os parâmetros de visualização deste PhotoOverlay. A PhotoOverlay pode ser um retângulo simples 2D, um cilindro parcial ou completo ou uma esfera (para panoramas esféricos). A sobreposição é colocada no local especificado e orientada para o ponto de visão.

Como <PhotoOverlay> é derivado de <Feature>, ele pode conter um dos dois elementos derivados de <AbstractView>, ou seja, <Camera> ou <LookAt>. A Camera (ou LookAt) especifica um ponto de visão e uma direção de visualização (também chamado de vetor de visualização). PhotoOverlay é posicionado em relação ao ponto de visão. Especificamente, o plano de uma imagem retangular 2D é ortogonal (com ângulos direitos) ao vetor de visualização. O normal desse plano, ou seja, sua frente, que faz parte da foto, é orientado em direção ao ponto de visualização.

O URL da imagem PhotoOverlay é especificado na tag <Icon>, que é herdada de <Overlay>. A tag <Icon> deve conter um elemento <href> que especifica o arquivo de imagem a ser usado para a PhotoOverlay. No caso de uma imagem muito grande, <href> é um URL especial indexado em uma pirâmide de imagens de diferentes resoluções (veja ImagePyramid).

Para obter mais informações, consulte a página "Tópicos em KML" em PhotoOverlay.

Elementos específicos de PhotoOverlay

<rotation>
Ajusta como a foto será colocada no campo de visualização. Esse elemento é útil se sua foto tiver sido girada e desviar um pouco de uma visualização horizontal desejada.
<ViewVolume>
Define a visibilidade da cena atual. A definição do campo de visão é análoga à especificação da abertura de lentes em uma câmera física. Um pequeno campo de visualização, como lentes telefoto, foca uma parte pequena da cena. Um grande campo de visualização, como lentes grande angulares, foca uma parte grande da cena.
<leftFov>
Ângulo, em graus, entre a direção de visualização da câmera e o lado esquerdo do volume de visualização.
<rightFov>
Ângulo, em graus, entre a direção de visualização da câmera e o lado direito do volume de visualização.
<bottomFov>
Ângulo, em graus, entre a direção de visualização da câmera e a parte inferior do volume de visualização.
<topFov>
Ângulo, em graus, entre a direção de visualização da câmera e a parte superior do volume de visualização.
<near>
Medição em metros ao longo da direção de visualização do ponto de visão da câmera até a forma PhotoOverlay.
O campo de visão de uma PhotoOverlay é definido por quatro planos, cada um especificado por um ângulo relativo ao vetor de visualização. Esses quatro planos definem as partes superior, inferior, esquerda e direita do campo de visão, que tem o formato de uma pirâmide truncada, como mostrado aqui:
Os diagramas a seguir mostram os quatro ângulos de campo de visão dentro desta pirâmide:
<ImagePyramid>
Para imagens muito grandes, será necessário construir uma pirâmide de imagens, que é um conjunto hierárquico de imagens, cada uma sendo uma versão de resolução cada vez menor da imagem original. Cada imagem na pirâmide é subdividida em blocos, de modo que apenas as partes na visualização precisam ser carregadas. O Google Earth calcula o ponto de visualização atual e carrega os blocos apropriados à distância do usuário a partir da imagem. À medida que o ponto de visualização se aproxima do PhotoOverlay, o Google Earth carrega blocos de resolução superior.  Uma vez que todos os pixels na imagem original não podem ser visualizados simultaneamente na tela, esse processamento prévio permite que o Google Earth alcance o máximo de desempenho, pois carrega somente as partes da imagem que estão na visualização e somente os detalhes de pixel que podem ser discernidos pelo usuário no ponto de visualização atual.
Ao especificar uma pirâmide de imagens, você também modifica <href> no elemento <Icon> para incluir especificações sobre quais blocos carregar.
<tileSize>
Tamanho dos blocos, em pixels. Os blocos precisam ser quadrados e <tileSize> precisa ter uma potência de 2. É recomendado um tamanho de bloco de 256 (padrão) ou 512.  A imagem original é dividida em blocos desse tamanho, em diferentes resoluções.
<maxWidth>
Largura em pixels da imagem original.
<maxHeight>
Altura em pixels da imagem original.
<gridOrigin>
Especifica onde começar a numerar os blocos em cada camada da pirâmide. Um valor de lowerLeft especifica que a linha 1, coluna 1 de cada camada está no canto inferior esquerdo da grade.
<Ponto>
O elemento <Point> atua como um <Point> dentro de um elemento <Marker>. Ele desenha um ícone para marcar a posição do PhotoOverlay. O ícone desenhado é especificado pelos campos <styleUrl> e <StyleSelector>, assim como para <Marker>.
<shape>
O PhotoOverlay é projetado em <shape>. O <shape> pode ser um dos seguintes:

retângulo (padrão): para uma foto comum

cilindro: para panoramas, que podem ser cilindros parciais ou totais

esfera: para panoramas esféricos

Exemplo

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

Estende

Contido por

<Placemark>

Sintaxe

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

Descrição

Um marcador é um Elemento com geometria associada. No Google Earth, um marcador aparece como um item da lista no painel "Lugares". Um marcador com um ponto tem um ícone associado a ele que marca um ponto na Terra no visualizador em 3D. No visualizador em 3D do Google Earth, um marcador de ponto é o único objeto no qual você pode clicar ou rolar. Outros objetos Geometry não têm um ícone no visualizador em 3D. Para dar ao usuário algo em que ele possa clicar no visualizador em 3D, é necessário criar um objeto MultiGeometria que contenha um ponto e o outro objeto Geometria.

Elementos específicos de Placemark

Exemplo

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

Estende

Contido por

Ver também

<Point>

Sintaxe

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

Descrição

A localização geográfica definida por longitude, latitude e altitude (opcional). Quando um ponto está contido por um marcador, o próprio ponto determina a posição do nome e do ícone do marcador. Quando um ponto é extrudado, ele é conectado à terra com uma linha. Este "tethering" usa o LineStyle atual.

Elementos específicos de Point

<extrude>
Valor booleano. Especifica se deve conectar o ponto ao solo com uma linha. Para extrudar um ponto, o valor de <altitudeMode> precisa ser relativeToGround, relativeToSeaFloor ou Absolute. O ponto é extrudado em direção ao centro da esfera da Terra.
<altitudeMode>
Especifica como os componentes de altitude no elemento <Coordinates> são interpretados. Os valores possíveis são:
  • clampToGround: (padrão) indica que uma especificação de altura (por exemplo, na tag <coordinates>) deve ser ignorada.
  • relativeToGround: define a altitude do elemento em relação à elevação do terreno real de um determinado local. Por exemplo, se a elevação do solo de uma localização é exatamente no nível do mar, e a altitude de um ponto é definida como nove metros, a elevação para o ícone de uma elevação de marcador de ponto é de nove metros com este modo. No entanto, se a mesma coordenada for definida ao longo de um local onde a elevação do solo é de 10 metros acima do nível do mar, a elevação da coordenada será de 19 metros. Um uso típico deste modo é na colocação de postes de telefone ou um teleférico.
  • absolute: define a altitude da coordenada em relação ao nível do mar, independentemente da elevação real do terreno por baixo do elemento. Por exemplo, se você definir a altitude de uma coordenada como 10 metros com um modo de altitude absoluto, o ícone de um ponto de marcador parecerá estar no nível do solo se o terreno abaixo também estiver 10 metros acima do nível do mar. Se o terreno estiver três metros acima do nível do mar, o marcador aparecerá elevado, acima do terreno em sete metros. Um uso típico deste modo é no posicionamento de aeronaves.
<AndroidManifest:altitudeMode>
Uma extensão KML no namespace de extensão do Google, permitindo altitudes em relação ao fundo do mar. Os valores são os seguintes:
  • relativeToSeaFloor: interpreta a altitude como um valor em metros acima do fundo do mar. Se o ponto estiver acima da terra em vez do mar, a altitude será interpretada como estando acima do solo.
  • clampToSeaFloor: a especificação de altitude é ignorada, e o ponto será posicionado no fundo do mar. Se o ponto estiver na terra, em vez de no mar, o ponto estará posicionado no solo.
<coordinates> (obrigatório)
Uma única tupla que consiste em valores de ponto flutuante para longitude, latitude e altitude (nessa ordem). Os valores de longitude e latitude estão em graus, em que
  • longitude ≥ -180 e <= 180
  • latitude ≥ -90 e ≤ 90
  • Os valores de altitude (opcional) estão em metros acima do nível do mar
Não inclua espaços entre os três valores que descrevem uma coordenada.

Exemplo

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

Estende

Contido por

<Polygon>

Sintaxe

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

Descrição

Um polígono é definido por um limite externo e 0 ou mais limites internos. Os limites, por sua vez, são definidos por LinearRings. Quando um polígono é extrudado, seus limites são conectados ao solo para formar polígonos adicionais, o que dá a aparência de um edifício ou de uma caixa. Polígonos extrudados usam <PolyStyle> para cor, modo de cor e preenchimento.

As <coordinates> para polígonos devem ser especificadas em sentido anti-horário. Os polígonos seguem a "regra da mão direita", que afirma que, se você colocar os dedos da mão direita na direção em que as coordenadas são especificadas, seu polegar apontará para a direção geral do normal geométrico do polígono. Em gráficos 3D, o normal geométrico é utilizado para iluminação e pontos distantes da face frontal do polígono. Como o Google Earth preenche apenas a face frontal de polígonos, você conseguirá o efeito desejado somente quando as coordenadas forem especificadas na ordem correta. Caso contrário, o polígono será cinza.

Observação: no Google Earth, um polígono com um <altitudeMode> de clampToGround segue linhas de rumo constante; no entanto, um LinearRing (por si só) com um <altitudeMode> de clampToGround segue grandes linhas circulares.

Elementos específicos de Polygon

<extrude>
Valor booleano. Especifica se o polígono deve ser conectado ao solo. Para extrudir um polígono, o modo de altitude deve ser relativeToGround, relativeToSeaFloor ou Absolute. Apenas os vértices são extrudados, não a própria geometria (por exemplo, um retângulo se transforma em uma caixa com cinco faces. Os vértices do polígono são extrudados em direção ao centro da esfera da Terra.
<tessellate>
Este campo não é usado pelo Polygon. Para permitir que um polígono siga o terreno (ou seja, para permitir a tecelagem), especifique um modo de altitude de clampToGround ou clampToSeaFloor.
<altitudeMode>
Especifica como os componentes de altitude no elemento <Coordinates> são interpretados. Os valores possíveis são:
  • clampToGround: (padrão) indica que uma especificação de altura (por exemplo, na tag <coordinates>) deve ser ignorada.
  • relativeToGround: define a altitude do elemento em relação à elevação do terreno real de um determinado local. Por exemplo, se a elevação do solo de uma localização é exatamente no nível do mar, e a altitude de um ponto é definida como nove metros, a elevação para o ícone de uma elevação de marcador de ponto é de nove metros com este modo. No entanto, se a mesma coordenada for definida ao longo de um local onde a elevação do solo é de 10 metros acima do nível do mar, a elevação da coordenada será de 19 metros. Um uso típico deste modo é na colocação de postes de telefone ou um teleférico.
  • absolute: define a altitude da coordenada em relação ao nível do mar, independentemente da elevação real do terreno por baixo do elemento. Por exemplo, se você definir a altitude de uma coordenada como 10 metros com um modo de altitude absoluto, o ícone de um ponto de marcador parecerá estar no nível do solo se o terreno abaixo também estiver 10 metros acima do nível do mar. Se o terreno estiver três metros acima do nível do mar, o marcador aparecerá elevado, acima do terreno em sete metros. Um uso típico deste modo é no posicionamento de aeronaves.
<AndroidManifest:altitudeMode>
Uma extensão KML no namespace de extensão do Google, permitindo altitudes em relação ao fundo do mar. Os valores são os seguintes:
  • relativeToSeaFloor: interpreta a <altitude> como um valor em metros acima do fundo do mar. Se o ponto estiver acima da terra em vez do mar, a altitude será interpretada como estando acima do solo.
  • clampToSeaFloor: a especificação de altitude é ignorada, e o ponto será posicionado no fundo do mar. Se o ponto estiver na terra, em vez de no mar, o ponto estará posicionado no solo.
<outerBoundaryIs>(obrigatório)
Contém um elemento <LinearRing>.
<innerBoundaryIs>
Contém um elemento <LinearRing>. Um polígono pode conter vários elementos <innerBoundaryIs>, que criam vários cortes no polígono.

Exemplo

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

Estende

Contido por

<PolyStyle>

Sintaxe

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

Descrição

Especifica o estilo de desenho para todos os polígonos, incluindo extrusões de polígonos (que parecem paredes de edifícios) e extrusões de linha (que parecem cercas sólidas).

Elementos específicos de PolyStyle

<fill>
Valor booleano. Especifica se o polígono deve ser preenchido.
<outline>
Valor booleano. Especifica se o polígono deve ser delineado. Contornos poligonais usam o LineStyle atual.

Exemplo

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

Estende

Contido por

<Region>

Sintaxe

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

Descrição

A região contém uma caixa delimitadora (<LatLonAltBox>), que descreve uma área de interesse definida por coordenadas geográficas e altitudes. Além disso, uma região contém uma extensão LOD (nível de detalhe) (<Lod>) que define um intervalo de validade da região associada em termos de tamanho de tela projetado. A região está "ativa" quando a caixa delimitadora é a visualização do usuário, e os requisitos de LOD são atendidos. Objetos associados a uma região são desenhados somente quando a região está ativa. Quando <viewRefreshMode> é onRegion, o link ou ícone é carregado somente quando a região está ativa. Veja mais detalhes na página "Tópicos sobre KML" em Regiões. Em uma hierarquia de Container ou NetworkLink, este cálculo utiliza a região que é o antecessor mais próximo na hierarquia.

Elementos específicos de Region

<LatLonAltBox> (obrigatório)
Uma caixa delimitadora que descreve uma área de interesse definida por coordenadas geográficas e altitudes. Os valores padrão e os campos obrigatórios são os seguintes:
<altitudeMode> ou <mx:altitudeMode>
Os valores possíveis para <altitudeMode> são clampToGround, relativeToGround e Absolute. Os valores possíveis para <mx:altitudeMode> são clampToSeaFloor e relativeToSeaFloor. Consulte também <LatLonBox>.
<minAltitude>
É especificada em metros e é afetada pela especificação do modo de altitude.
<maxAltitude>
É especificada em metros e é afetada pela especificação do modo de altitude.
<north> (obrigatório)
Especifica a latitude da borda norte da caixa delimitadora, em graus decimais de 0 a ±90.
<south> (obrigatório)
Especifica a latitude da borda sul da caixa delimitadora, em graus decimais de 0 a ±90.
<east> (obrigatório)
Especifica a longitude da borda leste da caixa delimitadora, em graus decimais de 0 a ±180.
<west> (obrigatório)
Especifica a longitude da borda oeste da caixa delimitadora, em graus decimais de 0 a ±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 é uma abreviação de nível de detalhe. <Lod> descreve o tamanho da região projetada na tela, que é necessária para a região ser considerada como "ativa". Também especifica o tamanho da rampa de pixels usada ​​para desvanecimento (de transparente para opaco) e desaparecimento (de opaco para transparente). Consulte o diagrama abaixo para uma representação visual desses parâmetros.
<Lod>
<minLodPixels>256</minLodPixels>
<maxLodPixels>-1</maxLodPixels>
<minFadeExtent>0</minFadeExtent>
<maxFadeExtent>0</maxFadeExtent>
</Lod>
<minLodPixels> (obrigatório)

Define um quadrado no espaço de tela, com lados do valor especificado em pixels. Por exemplo, 128 define um quadrado de 128 x 128 pixels. A caixa delimitadora da região precisa ser maior do que esse quadrado (e menor que o quadrado maxLodPixels) para que a região fique ativa.

Mais detalhes estão disponíveis no capítulo Como trabalhar com regiões do Guia do desenvolvedor, bem como no tutorial Como evitar a sobrecarga com regiões da documentação do Google Earth Outreach.

<maxLodPixels>
Medição em pixels da tela que representa o limite máximo do intervalo de visibilidade para uma determinada região. Um valor de -1, o padrão, indica "ativo de tamanho infinito".
<minFadeExtent>
Distância em que a geometria esmaece, de totalmente opaco para totalmente transparente. Este valor de rampa, expresso em número de pixels, é aplicado na extremidade mínima dos limites de LOD (visibilidade).
<maxFadeExtent>
Distância em que a geometria esmaece, de totalmente transparente para totalmente opaco. Este valor de rampa, expresso em número de pixels, é aplicado na extremidade máxima dos limites de LOD (visibilidade).
No diagrama a seguir, se P=o tamanho do pixel projetado calculado, os números circulados indicam o seguinte:
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

Exemplo de <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> 

Estende

Contido por

<Esquema>

Sintaxe

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

Descrição

Especifica um esquema KML personalizado usado para adicionar dados personalizados a elementos KML. O atributo "id" é obrigatório e precisa ser exclusivo no arquivo KML. <Schema> é sempre um filho de <Document>.

Elementos específicos de Schema

Um elemento Schema contém um ou mais elementos SimpleField. No SimpleField, o esquema declara o tipo e o nome do campo personalizado. Ele também especifica displayName (o formulário fácil de usar, com espaços e pontuação adequada usados para exibição no Google Earth) para esse campo personalizado.

<SimpleField type="string" name="string">
A declaração do campo personalizado, que precisa especificar o tipo e o nome desse campo. Se o tipo ou o nome for omitido, o campo será ignorado. O type pode ser um dos seguintes:
  • string
  • int
  • uint
  • short
  • ushort
  • float
  • double
  • bool
<displayName>
O nome, se houver, a ser usado quando o nome do campo é exibido para o usuário do Google Earth. Use o elemento [CDATA] para criar um código de escape para o padrão de marcação HTML.

Exemplo

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

Estende

Este é um elemento raiz.

Contido por

Ver também

<ScreenOverlay>

Sintaxe

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

Descrição

Este elemento desenha uma sobreposição de imagem fixa na tela. Entre os exemplos de usos de ScreenOverlays estão: bússolas, logotipos e exibições de avisos. O dimensionamento de ScreenOverlay é determinado pelo elemento <size>. O posicionamento da sobreposição é feito com o mapeamento de um ponto na imagem especificado por <OverlayXY> para um ponto na tela especificado por <screenXY>. Em seguida, a imagem é girada por <rotation> graus em torno de um ponto relativo à tela especificado por <rotationXY>.

O filho <href> de <Icon> especifica a imagem a ser utilizada como a sobreposição. Este arquivo pode estar em um sistema de arquivos local ou em um servidor da Web. Se esse elemento é omitido ou não contém <href>, um retângulo é desenhado usando a cor e o tamanho definidos pela sobreposição de tela.

Elementos específicos de ScreenOverlay

<overlayXY>
Especifica (ou fora) um ponto na imagem de sobreposição que é mapeada para a coordenada de tela (<screenXY>). São necessários os valores x e y, e as unidades para esses valores.
Os valores x e y podem ser especificados de três maneiras diferentes: como pixels ("pixels"), como frações da imagem ("fraction") ou como pixels inseridos("insetPixels"), que é um deslocamento em pixels no canto superior direito da imagem. As posições x e y podem ser especificadas de diferentes maneiras. Por exemplo, x pode estar em pixels e y em fração. A origem do sistema de coordenadas fica no canto inferior esquerdo da imagem.
  • x: o número de pixels, um componente fracionado da imagem ou um pixel de inserção, indicando o componente x de um ponto sobre a imagem da sobreposição.
  • y: o número de pixels, um componente fracionado da imagem ou um pixel de inserção, indicando o componente y de um ponto sobre a imagem da sobreposição.
  • xunits: unidades em que o valor de x é especificado. Um valor de "fraction" indica que o valor de x é uma fração da imagem. Um valor de "pixels" indica o valor de x em pixels. Um valor de "insetPixels" indica o recuo da borda direita da imagem.
  • yunits: unidades em que o valor de y é especificado. Um valor de "fraction" indica que o valor de y é uma fração da imagem. Um valor de "pixels" indica o valor de y em pixels. Um valor de "insetPixels" indica o recuo da borda superior da imagem.
<screenXY>
Especifica um ponto relativo à origem da tela ao qual a imagem de sobreposição é mapeada. Os valores de x e y podem ser especificados de três maneiras diferentes: como pixels ("pixels"), como frações da tela ("fraction") ou como pixels inseridos("insetPixels"), que é um deslocamento em pixels a partir do canto superior direito da tela. As posições x e y podem ser especificadas de diferentes maneiras. Por exemplo, x pode estar em pixels e y em fração. A origem do sistema de coordenadas fica no canto inferior esquerdo da tela.
  • x: o número de pixels, um componente fracionado da tela ou um pixel de inserção, indicando o componente x de um ponto na tela.
  • y: o número de pixels, um componente fracionado da tela ou um pixel de inserção, indicando o componente y de um ponto na tela.
  • xunits: unidades em que o valor de x é especificado. Um valor de "fraction" indica que o valor de x é uma fração da tela. Um valor de "pixels" indica o valor de x em pixels. Um valor de "insetPixels" indica o recuo da borda direita da tela.
  • yunits: unidades em que o valor de y é especificado. Um valor de fração indica que o valor de y é uma fração da tela. Um valor de "pixels" indica o valor de y em pixels. Um valor de "insetPixels" indica o recuo da borda superior da tela.
Por exemplo, <screenXY x=".5" y=".5" xunits="fraction" yunits="fraction"/> indica um ponto no meio da tela.
Veja alguns exemplos:

Centralize a imagem:

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

Coloque a imagem no canto superior esquerdo:

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

Coloque a imagem no lado direito da tela:

<ScreenOverlay>
  <overlayXY x="1" y="1" xunits="fraction" yunits="fraction"/>
  <screenXY x="1" y="1" xunits="fraction" yunits="fraction"/>
</ScreenOverlay>  
<rotationXY>
Ponto em relação à tela em que a sobreposição de tela é girada.
<size>
Especifica o tamanho da imagem para a sobreposição de tela da seguinte forma:
  • Um valor de -1 indica a utilização da dimensão nativa
  • Um valor de 0 indica que a relação de aspecto deve ser mantida
  • Um valor de n define o valor da dimensão
Por exemplo:

Para forçar a imagem a manter suas dimensões x e y originais, defina os valores como -1:

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

Para forçar a imagem a reter sua dimensão horizontal, mas ocupar 20% do espaço vertical da tela:

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

Para forçar a imagem a ser redimensionada para 100px por 500px:

<size x="100" y="500" xunits="pixels" yunits="pixels"/> 
<rotation>
Indica o ângulo de rotação do objeto pai. Um valor de 0 significa que não há rotação. O valor é um ângulo em graus em sentido anti-horário a partir do Norte. Use ±180 para indicar a rotação do objeto pai do 0. O centro da <rotation>, se não for (0,5, 0,5), é especificado em <rotationXY>.

Exemplo

O exemplo a seguir coloca uma imagem no centro exato da tela, usando a largura, altura e relação de aspecto originais da imagem.

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

Estende

Contido por

<Style>

Sintaxe

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

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

Descrição

Um Style define um grupo de estilos endereçáveis que pode ser referenciado por StyleMaps e Features. Os estilos afetam a forma como a geometria é apresentada no visualizador em 3D e como os Elementos aparecem no painel Locais da visualização de lista. Os estilos compartilhados são coletados em um <Document> e precisam ter um id definido para que possam ser referenciados pelos recursos individuais que os utilizam.

Use um ID para se referir ao estilo de uma <styleUrl>.

Exemplo

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

Estende

Contido por

Elementos específicos de Style

<StyleMap>

Sintaxe

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

Descrição

Um <StyleMap> mapeia entre dois estilos diferentes. Normalmente, um elemento <StyleMap> é usado para fornecer estilos normais e destacados separados para um marcador, de modo que a versão destacada apareça quando o usuário passar o mouse sobre o ícone no Google Earth.

Elementos específicos de StyleMap

<Pair> (obrigatório)
Define um par de chave-valor que mapeia um modo (normal ou highlight) para o <styleUrl> predefinido. <Pair> contém dois elementos (ambos são obrigatórios):
  • <key>, que identifica a chave.
  • <styleUrl> ou <Style>, que faz referência ao estilo. Em <styleUrl>, para elementos de estilo referenciados que são locais no documento KML, é usada uma referência # simples. Para estilos contidos em arquivos externos, use um URL completo e # referências. Exemplo:
<Pair> 
  <key>normal</key>
  <styleUrl>http://myserver.com/populationProject.xml#example_style_off</styleUrl>
</Pair> 

Exemplo

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

Estende

Contido por

<StyleSelector>

Sintaxe

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

Descrição

Este é um elemento abstrato e não pode ser usado diretamente em um arquivo KML. É o tipo de base dos elementos <Style> e <StyleMap>. O elemento StyleMap seleciona um estilo com base no modo atual do marcador. Um elemento derivado de StyleSelector é identificado exclusivamente por seu ID e url.

Elementos específicos de StyleSelector

Este elemento abstrato não contém nenhum elemento filho.

Estende

Estendido por

<TimePrimitive>

Sintaxe

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

Descrição

Este é um elemento abstrato e não pode ser usado diretamente em um arquivo KML. Este elemento é estendido pelos elementos <TimeSpan> e <TimeStamp>.

Estende

Estendido por

<TimeSpan>

Sintaxe

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

Descrição

Representa uma extensão de tempo limitada por dateTimes de início e término.

Se <begin> ou <end> estiver ausente, o final do período será ilimitado (veja o exemplo abaixo).

O campo dateTime é definido de acordo com o horário do Esquema XML (consulte XML Schema Part 2: Datatypes Second Edition). O valor pode ser expresso como yyyy-mm-ddThh:mm:ss.ssszzzzzz, em que T é o separador entre a data e a hora, e o fuso horário é Z (para UTC) ou zzzzzz, que representa ±hh:mm em relação ao UTC. Além disso, o valor pode ser expresso apenas como uma data. Consulte <TimeStamp> para ver exemplos.

Elementos específicos de TimeSpan

<begin>
Descreve o Instant de um período inicial. Se ausente, o início do período é ilimitado.
<end>
Descreve o Instant de um período final. Se ausente, o fim do período é ilimitado.

Exemplo

O exemplo a seguir mostra o período de tempo que representa um estado do Colorado. Ele contém apenas uma tag <begin>, porque Colorado se tornou um estado em 1 de agosto de 1876 e continua a ser um estado:

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

Estende

Contido por

<TimeStamp>

Sintaxe

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

Descrição

Representa um único momento no tempo. Este é um elemento simples e não contém filhos. Seu valor é dateTime, especificada em tempo XML (veja XML Schema Part 2: Datatypes Second Edition). A precisão do TimeStamp é determinada pelo valor de dateTime no elemento <when>.

Elementos específicos de TimeStamp

<when>
Especifica um único momento no tempo. O valor é uma dateTime, que pode ser um dos seguintes:
  • dateTime: fornece a resolução de segundo
  • date: fornece a resolução de dia
  • gYearMonth{/0: fornece a resolução de mês
  • gYear: fornece a resolução de ano

Os exemplos a seguir mostram diferentes resoluções para o valor de <when>:

  • gYear (AAAA)
<TimeStamp>
  <when>1997</when>
</TimeStamp>
  • gYearMonth (AAAA-MM)
<TimeStamp>
  <when>1997-07</when>
</TimeStamp> 
  • date (AAAA-MM-DD)
<TimeStamp>
  <when>1997-07-16</when>
</TimeStamp> 
  • dateTime (AAAA-MM-DDThh:mm:ssZ)
    Aqui, T é o separador entre a agenda e a notação de tempo por hora, e Z indica UTC. Os segundos são obrigatórios.
<TimeStamp>
  <when>1997-07-16T07:30:15Z</when>
</TimeStamp>
  • dateTime (AAAA-MM-DDThh:mm:sszzzzzz)
    Este exemplo informa a hora local e a conversão ± em UTC.
<TimeStamp>
  <when>1997-07-16T10:30:15+03:00</when>
</TimeStamp>

Estende

Contido por

<gx:TimeSpan> e <gx:TimeStamp>

Este elemento é uma extensão do padrão KML 2.2 OGC e é compatível com o Google Earth 5.0 e posterior. Saiba mais

Uma cópia dos elementos <TimeSpan> e <TimeStamp> no namespace de extensão. Isso permite a inclusão de valores de tempo em AbstractViews (<Camera> e <LookAt>). Os valores de tempo são usados para controlar imagens históricas, luz solar e a visibilidade de Elementos com data e hora.

Exemplo

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

Este elemento é uma extensão do padrão KML 2.2 OGC e é compatível com o Google Earth 5.0 e posterior. Saiba mais

Sintaxe

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

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

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

Descrição

<gx:Tour> pode conter um único elemento <gx:Playlist>, que por sua vez contém uma lista ordenada de elementos gx:TourPrimitive que definem um tour em qualquer navegador KML. Saiba mais sobre tours.

Exemplo

Uma série de exemplos de passeio estão disponíveis no capítulo Passeio do Guia do desenvolvedor KML.

Contém

  • mx:Playlist: contém qualquer número de elementos gx:TourPrimitive. Pode haver nenhum ou um elemento <gx:Playlist> contido em um elemento <gx:Tour>.
    <gx:Tour>
      <gx:Playlist>
        <!-- gx:TourPrimitive -->
          ...
        <!-- /gx:TourPrimitive -->
    
        <!--- Any number of gx:TourPrimitive elements can be included --->
      </gx:Playlist>
    </gx:Tour>

<gx:TourPrimitive>

Este elemento é uma extensão do padrão KML 2.2 OGC e é compatível com o Google Earth 5.0 e posterior. Saiba mais

Sintaxe

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

Descrição

Este é um elemento abstrato e não pode ser usado diretamente em um arquivo KML. Esse elemento é estendido pelos elementos <gx:FlyTo>, <gx:AnimatedUpdate>, <gx:TourControl>, <gx:Wait> e <gx:SoundCue>.

Os elementos estendidos de gx:TourPrimitive fornecem instruções para os navegadores KML durante tours, incluindo pontos para voar e a duração desses voos, pausas, atualizações de recursos KML e arquivos de som a serem reproduzidos.

Esses elementos precisam estar contidos em um elemento <gx:Playlist>, que, por sua vez, é contido com um elemento <gx:Tour>.

Exemplo

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

Contido por

Estendido por

  • <AndroidManifest:AnimatedUpdate>
  • <AndroidManifest:FlyTo>
  • <AndroidManifest:SoundCue>
    <gx:SoundCue id="ID">
      <href>http://www.example.com/audio/trumpets.mp3</href>   <!-- any URI -->
      <gx:delayedStart>0</gx:delayedStart>                     <!-- double -->
    </gx:SoundCue>
    Contém um elemento <href> que especifica um arquivo de som a ser reproduzido, em formato MP3, M4A ou AAC. Não contém uma duração. O arquivo de som é reproduzido em paralelo com o restante do passeio, o que significa que o próximo primitivo de passeio ocorre imediatamente após o primitivo de passeio <gx:SoundCue> ser alcançado. Se outro arquivo de som for indicado antes da reprodução do primeiro, os arquivos são misturados. O elemento <gx:delayedStart> especifica o atraso do início do som por um determinado número de segundos antes da reprodução do arquivo.
  • <mx:TourControl>
    <gx:TourControl id="ID">
      <gx:playMode>pause</gx:playMode>    <!-- gx:playModeEnum: pause -->
    </gx:TourControl>
    Contém um único elemento <gx:playMode>, permitindo que o tour seja pausado até que um usuário realize uma ação para continuar o tour.
  • <mx:Wait>
    <gx:Wait id="ID">
      <gx:duration>0.0</gx:duration>    <!-- double -->
    </gx:Wait>
    A câmera permanece parada no último AndroidManifest:AbstractView definido pelo número de segundos especificados antes do próximo gx:TourPrimitive. A espera não pausa na linha do tempo do tour: os arquivos de som em reprodução e as atualizações animadas continuam sendo reproduzidos enquanto a câmera aguarda.

Estende

<gx:Track>

Este elemento é uma extensão do padrão KML 2.2 OGC e é compatível com o Google Earth 5.2 e posterior. Saiba mais

Sintaxe

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

Descrição

Uma faixa descreve como um objeto se move pelo mundo ao longo de um determinado período de tempo. Este elemento permite que você crie um objeto visível no Google Earth (um ícone de ponto ou um modelo) que codifica várias posições do mesmo objeto por várias vezes. No Google Earth, o controle deslizante de tempo permite que o usuário mova a visualização ao longo do tempo, o que anima a posição do objeto.

O elemento gx:MultiTrack é usado para coletar várias faixas em uma unidade conceitual com um ícone associado (ou modelo) que se move ao longo da faixa. Este elemento é útil se você tem várias faixas para o mesmo objeto do mundo real. O elemento booleano <gx:interpolate> de um <gx:MultiTrack> especifica se deve haver interpolação entre as faixas em um item com várias faixas. Se este valor for 0, o ponto ou modelo parará no final de uma faixa e saltará para o início da próxima. Por exemplo, se você quiser que um único marcador represente suas viagens em dois dias, e sua unidade de GPS tiver sido desligada por quatro horas durante este período, mostre uma descontinuidade entre os pontos onde a unidade foi desligada e ligada novamente. Se o valor para <gx:interpolate> for 1, os valores entre o fim da primeira faixa e o início da próxima faixa serão interpoladas para que a faixa apareça como um caminho contínuo.

Consulte o Guia do usuário do Google Earth para obter informações sobre como importar dados de GPS no Google Earth.

Por que as faixas são úteis?

As versões anteriores do KML (antes do Google Earth 5.2) permitem associar um elemento de tempo a qualquer outro elemento (marcador, sobreposição de solo etc.). No entanto, você só pode associar um elemento de tempo a um outro elemento. Faixas são um mecanismo mais eficiente para associar os dados de tempo a elementos visíveis, pois você cria apenas um elemento, que pode ser associado a vários elementos de tempo, conforme o objeto se move pelo espaço.

Além disso, o elemento de faixa é mais poderoso do que o mecanismo anterior (descrito no capítulo Tempo e animação do Guia do desenvolvedor KML), porque <track> fornece um mecanismo para interpolar a posição do objeto em qualquer momento ao longo de sua faixa. Com este novo elemento, o Google Earth exibe um gráfico de perfis de elevação e velocidade (além de dados personalizados, se presentes) para o objeto ao longo do tempo.

Dados "esparsos"

Quando alguns valores de dados estão ausentes para posições na faixa, tags <coord/> (<coord></coord>) ou <angles/> (<angles></angles>) vazias podem ser fornecidas para equilibrar as matrizes. Uma tag <coord/> ou <angles/> vazia indica que esses dados não existem para um determinado ponto de dados, e o valor deve ser interpolado entre os dois pontos de dados mais próximos bem especificados. Este comportamento também se aplica a ExtendedData para uma faixa. Qualquer elemento, exceto <when>, pode ser vazio e será interpolado entre os dois elementos mais próximos bem especificados.

Elementos específicos de Track

<altitudeMode>
Especifica como os componentes de altitude no elemento <Coordinates> são interpretados. Os valores possíveis são:
  • clampToGround: (padrão) indica que uma especificação de altura (por exemplo, na tag <gx:coord>) deve ser ignorada.
  • relativeToGround: define a altitude do elemento em relação à elevação do terreno real de um determinado local. Por exemplo, se a elevação do solo de uma localização é exatamente no nível do mar, e a altitude de um ponto é definida como nove metros, a elevação para o ícone de uma elevação de marcador de ponto é de nove metros com este modo. No entanto, se a mesma coordenada for definida ao longo de um local onde a elevação do solo é de 10 metros acima do nível do mar, a elevação da coordenada será de 19 metros.
  • absolute: define a altitude da coordenada em relação ao nível do mar, independentemente da elevação real do terreno por baixo do elemento. Por exemplo, se você definir a altitude de uma coordenada como 10 metros com um modo de altitude absoluto, o ícone de um ponto de marcador parecerá estar no nível do solo se o terreno abaixo também estiver 10 metros acima do nível do mar. Se o terreno estiver três metros acima do nível do mar, o marcador aparecerá elevado, acima do terreno em sete metros.
<AndroidManifest:altitudeMode>
Uma extensão KML no namespace de extensão do Google, permitindo altitudes em relação ao fundo do mar. Os valores são os seguintes:
  • relativeToSeaFloor: interpreta a altitude como um valor em metros acima do fundo do mar. Se o ponto estiver acima da terra em vez do mar, a altitude será interpretada como estando acima do solo.
  • clampToSeaFloor: a especificação de altitude é ignorada, e o ponto será posicionado no fundo do mar. Se o ponto estiver na terra, em vez de no mar, o ponto estará posicionado no solo.
<quando>
Um valor de tempo que corresponde a uma posição (especificada em um elemento <mx:coord>). O número de elementos <when> em uma <Track> precisa ser igual ao número de elementos <mx:coord> (e <mx:angles>, se incluídos).
<gx:coord>
Um valor de coordenadas com três valores para longitude, latitude e altitude, sem separadores de vírgulas. Por exemplo:
<gx:coord>-122.207881 37.371915 156.000000</gx:coord>

A sintaxe do elemento <gcs:coord> é diferente da sintaxe do elemento <Coordinates>, que usa vírgulas para separar os componentes de longitude, latitude e altitude. O número de elementos especificados precisa ser igual ao número de elementos de tempo () e de posição (). Você pode especificar um elemento <mx:coord> vazio para um valor ausente, se necessário.

<gx:angles>
Este valor é usado para especificar um valor adicional de título, inclinação e rolagem para o ícone ou modelo para cada hora/posição na faixa. Os três valores de ponto flutuante são listados sem separadores de vírgula e representam graus de rotação. Se <mx:angles> não for especificado, o Google Earth inferirá o rumo, a inclinação e o rolamento do objeto a partir da faixa. O número de elementos especificados de <gcs:angles> precisa ser igual ao número de elementos de tempo (<when>) e de posição (<mx:coord>). Você pode especificar um elemento <mx:angles> vazio para um valor ausente, se necessário.

Atualmente, os ícones suportam apenas título, mas os modelos suportam os três valores.

Aqui está um exemplo de como definir esse valor:

<gx:angles>45.54676 66.2342 77.0</gx:angles>
<Modelo>
Se especificado, o modelo substitui o ícone do ponto usado para indicar a posição atual na faixa. Quando um <Model> é especificado em um <mx:Track>, veja como os elementos filhos da <Model> funcionam:
  • O elemento <Location> é ignorado.
  • O elemento <altitudeMode> é ignorado.
  • O valor <Orientation> é combinado com a orientação da faixa da seguinte forma: em primeiro lugar, a rotação <Orientation> é aplicada, o que traz o modelo do sistema de coordenadas local (x, y, z) para a orientação lado direito para cima, virada ao Norte. Em seguida, é aplicada uma rotação que corresponde à interpolação dos valores <gx:angles> que afetam a posição o título, a inclinação e o rolo do modelo conforme ele se move ao longo da faixa. Se nenhum ângulo for especificado, o título e a inclinação serão inferidos a partir do movimento do modelo.

    Dica: se você não tem certeza de como especificar a orientação, omita o elemento <Orientation> do <Model> e veja como o Google Earth posiciona o modelo conforme ele se move ao longo da faixa. Se você notar que a frente do modelo está voltada para o lado, modifique o elemento <heading> em <Orientation> para girar o modelo para que ele aponte para a frente. Se o modelo não estiver na vertical, tente modificar os elementos <tilt> ou <roll>.

<ExtendedData>

Elementos de dados personalizados definidos em um <Schema> no início do arquivo KML.

Muitas vezes, é útil para adicionar dados estendidos associados a cada hora/posição em uma faixa. Passeios de bicicleta, por exemplo, podem incluir dados de frequência cardíaca, cadência e potência, como mostrado no Exemplo de faixa com dados estendidos. No <Schema>, você define uma <gx:SimpleArrayField> para cada tipo de dados personalizados. Em seguida, para cada tipo de dados, inclua um elemento <gx:SimpleArrayData> que contenha <gx:value> e corresponda a cada hora/posição na faixa. Consulte o capítulo Adicionar dados personalizados do Guia do desenvolvedor KML para obter mais informações sobre a adição de novos campos de dados. No Google Earth, dados personalizados são exibidos no perfil de elevação para a faixa.

Exemplo simples

Este exemplo muito básico mostra como criar "matrizes" paralelas de valores para <when> e <mx:coord>. O número de valores de hora e posição deve ser igual.

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

Exemplo de faixa com dados extendidos

O negrito neste exemplo destaca os elementos utilizados para definir e especificar os dados personalizados para um passeio de bicicleta. Os campos de dados personalizados são nomeados internamente como "frequência cardíaca", "cadência" e "potência". O elemento <Schema> define o nome a ser exibido para cada conjunto de valores (frequência cardíaca, cadência e potência) e especifica o tipo de dados para cada novo campo (frequência cardíaca e cadência são do tipo int e potência do tipo float). No Google Earth, esses dados personalizados são mostrados com o perfil de elevação da faixa.

Este exemplo é uma apresentação mais realista de uma faixa, com ícones personalizados e estilos separados de ícone e linha para os modos normal e de destaque. Contudo, o exemplo inclui apenas sete conjuntos de valores de dados. O exemplo real inclui dezenas de milhares de valores. Cortesia de dados de Sean Broeder. Esses dados foram coletados com um Garmin Edge 705 com monitor de frequência cardíaca e medidor de potência associado.

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

Estende

Contido por

<Update>

Sintaxe

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

Descrição

Especifica uma adição, alteração ou exclusão de dados KML que já foram carregados usando o URL especificado. O <targetHref> especifica o arquivo .kml ou .googleblog cujos dados (no Google Earth) devem ser modificados. <Update> está sempre contido em um NetworkLinkControl. Além disso, o arquivo que contém o NetworkLinkControl deve ter sido carregado por um link de rede. Consulte a página "Tópicos em KML" em Atualizações para ver um exemplo detalhado de como a atualização funciona.

Elementos específicos de Update

Pode conter qualquer quantidade de elementos <Change>, <Create> e <Delete>, que são processados ​​em ordem.

<targetHref> (obrigatório)
Um URL que especifica o arquivo .kml ou .googleblog com os dados (dentro do Google Earth) que devem ser modificados por um elemento <Update>. Este arquivo KML já deve ter sido carregado por meio de um <NetworkLink>. Nesse arquivo, o elemento a ser modificado já deve ter um atributo id explícito definido para ele.
<Change>
Modifica os valores em um elemento que já tenha sido carregado com um <NetworkLink>. No elemento Change, o filho a ser modificado precisa incluir um atributo targetId que faça referência ao id do elemento original.
Essa atualização pode ser considerada uma "atualização esparsa": no elemento modificado, apenas os valores listados em <Change> são substituídos. Todos os outros valores permanecem inalterados. Quando <Change> é aplicado a um conjunto de coordenadas, as novas coordenadas substituem as coordenadas atuais.
Os filhos desse elemento são elementos a serem modificados, que são identificados pelo atributo targetId.
<Create>
Adiciona novos elementos a uma pasta ou documento que já tenha sido carregado por meio de um <NetworkLink>. O elemento <targetHref> em <Update> especifica o URL do arquivo .kml ou .googleblog que continha a pasta ou o documento original. Nesse arquivo, a pasta ou o documento que contém os novos dados já precisa ter um id explícito definido para ele. Esse id é referenciado como o atributo targetId da pasta ou documento em <Create> que contém o elemento a ser adicionado.
Depois que um objeto é criado e carregado no Google Earth, ele assume o URL do documento pai original da pasta. Para realizar atualizações subsequentes em objetos adicionados com este mecanismo Update/Create, defina <targetHref> como o URL do documento ou da pasta original (não o URL do arquivo que carregou as atualizações intermediárias).
<Delete>
Exclui os recursos de um elemento complexo que já tenha sido carregado por meio de um <NetworkLink>. O elemento <targetHref> em <Update> especifica o arquivo .kml ou .googleblog contendo os dados a serem excluídos. Nesse arquivo, o elemento a ser excluído já deve ter um id explícito definido. O elemento <Delete> faz referência a este id no atributo targetId.
Os elementos filhos de <Delete>, que são os únicos elementos que podem ser excluídos, são Document, Folder, GroundOverlay, Marker e ScreenOverlay.

Exemplo de <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> 

Exemplo de <Create>

Este exemplo cria um novo marcador em um documento criado anteriormente que tem um "region24". Se você quiser fazer as atualizações subsequentes para "placemark891", ainda usará http://myserver.com/Point.kml como o <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>

Exemplo de <Delete>

Este exemplo exclui um marcador previamente carregado no Google Earth. Este marcador pode ter sido carregado diretamente por um link de rede, com o URL especificado, ou pode ter sido carregado por uma atualização posterior ao documento original.

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

Contido por

<Url>

Observação: este elemento foi removido no KML Versão 2.1 e substituído por <Link>, que fornece a funcionalidade adicional de Regions. A tag <Url> ainda funcionará no Google Earth, mas o uso da tag <Link> mais recente é incentivado.

Utilize este elemento para definir a localização do link para o arquivo KML, para definir as opções de atualização para o servidor e alterações do visualizador, e para preencher uma variável para retornar informações úteis do cliente para o servidor.

Voltar ao início