KML 참조

이 섹션에는 KML 버전 2.2에 정의된 모든 KML 요소 및 Google 확장 네임스페이스의 알파벳순 참조가 포함되어 있습니다. KML 요소의 클래스 트리는 아래와 같습니다. 이 다이어그램에서 트리의 특정 브랜치 오른쪽에 있는 요소는 왼쪽에 있는 요소의 확장입니다. 예를 들어 위치표시는 특별한 종류의 지형지물입니다. 여기에는 지형지물에 속하는 모든 요소가 포함되어 있으며, 위치표시 요소와 관련된 일부 요소를 추가합니다.

KML은 공식적으로 OpenGIS® KML 인코딩 표준 (OGC KML)으로 지정된 개방형 표준입니다. Open Geospatial Consortium, Inc. (OGC)에서 관리합니다. OGC KML의 전체 사양은 http://www.opengeospatial.org/standards/kml/에서 확인할 수 있습니다.

KML의 전체 XML 스키마는 http://schemas.opengis.net/kml/에 있습니다.

참고: 이 다이어그램에서 요소 이름을 클릭하면 참조 섹션에서 해당 항목으로 이동합니다.

클래스 트리 그림 개체 요소(상위) gx:Tour 요소, 지형지물의 하위 요소 네트워크 링크 요소, 지형지물의 하위 요소 아이콘 요소, 지형지물의 하위 요소 오버레이 요소, 지형지물의 하위 요소 컨테이너 요소, 지형지물의 하위 요소 지형지물 요소 도형 요소, 개체의 하위 요소 사진 오버레이 요소, 오버레이의 하위 요소 화면 오버레이, 오버레이의 하위 요소 지면 오버레이 요소, 오버레이의 하위 요소 폴더 요소, 컨테이너의 하위 요소 문서 요소, 컨테이너의 하위 요소 지점 요소, 도형의 하위 요소 유도선 요소, 도형의 하위 요소 유도선 요소, 도형의 하위 요소 링크 요소, 개체의 하위 요소 아이콘 요소, 링크의 하위 요소 방향 요소, 개체의 하위 요소 위치 요소, 개체의 하위 요소 배율 요소, 개체의 하위 요소 다각형 요소, 도형의 하위 요소 다중 도형 요소, 도형의 하위 요소 모델 요소,다중 도형의 하위 요소 gx:Track 요소, 도형의 하위 요소 스타일 요소, 스타일 선택기의 하위 요소 gx:MultiTrack 요소, 도형의 하위 요소 스타일 선택기 요소, 개체의 하위 요소 스타일 맵 요소, 스타일 선택기의 하위 요소 타임 프리미티브 요소, 개체의 하위 요소 타임스팬 요소, 타임 프리미티브의 하위 요소 gx:TimeStamp AbstractView 요소, 개체의 하위 요소 카메라 요소, AbstractView의 하위 요소 바라보기 요소, AbstractView의 하위 요소 지역 요소, 개체의 하위 요소 Lod 요소, 개체의 하위 요소 위도 경도 상자 요소, 개체의 하위 요소 위도 경도 고도 상자 요소, 개체의 하위 요소 gx:LatLonQuad 요소, 개체의 하위 요소 하위 스타일 요소, 개체의 하위 요소 풍선 스타일 요소, 하위 스타일의 하위 요소 색상 스타일 요소, 하위 스타일의 하위 요소 목록 스타일 요소, 하위 스타일의 하위 요소 gx:TimeSpan 요소, 타임스팬의 하위 요소 타임스탬프 요소, 타임 프리미티브의 하위 요소 선 스타일 요소, 색상 스타일의 하위 요소 다각형 스타일 요소, 색상 스타일의 하위 요소 아이콘 스타일 요소, 색상 스타일의 하위 요소 라벨 스타일 요소, 색상 스타일의 하위 요소 gx:TourPrimitive 요소, 개체의 하위 요소 gx:AnimatedUpdate gx:FlyTo 요소, 둘러보기 프리미티브의 하위 요소 gx:SoundCue 요소, 둘러보기 프리미티브의 하위 요소 gx:TourControl 요소, gx:TourPrimitive의 하위 요소 gx:Wait 요소, gx:TourPrimitive의 하위 요소 gx:PlayList 요소, 개체의 하위 요소

추상 요소 (다이어그램의 상자에 표시됨)는 실제로 KML 파일에서 사용되지 않습니다. 이는 하나의 (비슷하지만 다르지만) 파생된 여러 요소에 대해 단일 요소가 프로그래매틱 방식의 기초 역할을 할 때 유용합니다. 이러한 개체 지향 계층구조를 이해하면 관련 요소의 그룹을 쉽게 파악할 수 있으므로 KML에 대해 알아볼 수 있는 좋은 방법이기도 합니다.

객체에서 파생된 모든 요소에는 ID가 할당될 수 있습니다. 이 ID는 네트워크 링크로 로드된 파일에 KML 업데이트 메커니즘 (<Update> 참조)에서 사용됩니다. 또한 공유 스타일 (<Style> 참고)에서도 사용됩니다. id는 표준 XML ID입니다.

KML은 XML 문법 및 파일 형식이므로 태그 이름은 대소문자를 구분하며 여기에 표시된 대로 정확하게 표시되어야 합니다. XML에 익숙하다면 KML 2.2 스키마도 알고 있을 것입니다. KML 텍스트 파일을 수정할 때 이 스키마를 XML 편집기에 로드하여 KML 코드의 유효성을 검사할 수 있습니다.

팁: Google 어스 기능용 KML 보기

다음은 모든 지형지물의 KML 파일을 쉽게 볼 수 있게 해주는 Google 어스의 편리한 기능입니다. Google 어스의 장소 패널에서 지형지물을 마우스 오른쪽 버튼으로 클릭하고 복사할 수 있습니다. 복사된 객체에 해당하는 KML을 보려면 자주 사용하는 텍스트 편집기를 열고 선택 항목을 붙여넣으세요.

호환성

KML 버전에는 이중 번호 지정 체계 majorVersion.minorVersion이(가) 있습니다. majorVersion가 동일한 모든 버전은 호환됩니다. 따라서 네임스페이스를 '2.2'(xmlns="http://www.opengis.net/kml/2.2")로 변경하면 모든 KML 2.1 파일이 KML 2.2 스키마에서 확인됩니다.

참조 정보

각 참조 항목에는 기본 요소에 포함된 요소가 나열된 구문 섹션이 포함되어 있습니다. 이 구문 섹션은 비공식 등록정보이며 간단한 약식으로 요소를 요약합니다. 이 섹션에는 다음 항목도 포함되어 있습니다.

  • 각 요소의 기본값(또는 복잡한 요소이거나 기본값이 없는 경우 생략)
  • 값의 유형 (KML 입력란 참고)

구문 섹션을 복사하여 KML 파일에서 비추상 요소를 위한 템플릿으로 사용할 수 있습니다.

KML 확장 네임스페이스 및 gx 프리픽스

OGC KML 표준은 확장(표준에서 사용할 수 있는 것 이상의 정보가 포함된 추가 요소) 메커니즘을 제공합니다(w3.org에서 XML 네임스페이스 자세히 알아보기). Google 어스 5.0의 출시와 함께 Google에서는 여러 가지 새로운 기능을 지원하기 위해 KML에 대한 확장 프로그램을 제공했습니다. 이러한 확장 프로그램은 gx 프리픽스 및 다음 네임스페이스 URI를 사용합니다.

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

이 네임스페이스 URI는 gx- 접두사를 사용하는 요소를 사용하여 KML 파일의 <kml> 요소에 추가해야 합니다.

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

일부 지오 브라우저에서는 KML 확장 기능이 지원되지 않을 수 있습니다. 브라우저에서 특정 확장 프로그램을 지원하지 않는 경우, 이러한 확장 프로그램을 사용한 데이터는 무시되고 KML 파일의 나머지 데이터만 오류 없이 로드됩니다.

현재 gx 프리픽스를 사용하는 요소는 다음과 같습니다.

이 확장 네임스페이스에 있는 요소의 전체 XML 스키마는 http://developers.google.com/kml/schema/kml22gx.xsd에 있습니다.

KML 입력란

KML은 부울, 문자열, double, floatint와 같은 일반적인 XML 유형을 사용합니다. 또한 여러 필드 요소 유형을 정의합니다. 다음 표에는 KML에 정의된 가장 일반적으로 사용되는 몇 가지 유형 및 이러한 유형을 사용하는 요소 사례의 링크가 나열되어 있습니다.

필드 유형 사용 예시
고도 모드 Enum 지면에 고정, 지면 기준, 절대값 <LookAt><Region> 참조
각도 -90부터 90 사이의 값 <Model>의 <latitude> 참조
각도90 0 이상 90 이하의 값 <LookAt>의 <tilt> 참조
각도180 -180부터 180 사이의 값 <Model>의 <longitude> 참조
각도360 -360부터 360 사이의 값 <Orientation>의 <heading> 참조
color hexBinary 값: aabbggrr <ColorStyle>을 확장하는 요소 참조
colorModeEnum 정상, 무작위 <ColorStyle>을 확장하는 요소 참조
날짜 시간 dateTime, date, gYearMonth, gYear <TimeSpan><TimeStamp> 참조
displayModeEnum 기본값, 숨기기 <BalloonStyle>
gridOrigin 왼쪽 하단, 왼쪽 상단 <PhotoOverlay> 참조
새로고침 모드 Enum onChange, onInterval, onExpire <Link> 참조
shapeEnum 직사각형, 원통, 구 <PhotoOverlay> 참조
styleStateEnum 일반, 강조표시 <StyleMap> 참조
단위 Enum 분수, 픽셀, 삽입 픽셀 <ScreenOverlay>, <IconStyle>의 <hotSpot> 참조
벡터2 x=double xunits=KML:unitsEnum
y=double yunits=KML:unitsEnum

의 <IconStyle>에서 <HotSpot> <ScreenOverlay> 참조
viewRefreshEnum 안 함, onRequest, onStop, onRegion <Link> 참조

 

<AbstractView>

문법

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

설명

이는 추상 요소이며 KML 파일에서 직접 사용할 수 없습니다. 이 요소는 <Camera><LookAt> 요소에 의해 확장됩니다.

확장

AbstractView에만 한정되는 요소

<gx:ViewerOptions>
이 요소는 Google 어스 6.0 이상에서 특별한 보기 모드를 사용 설정합니다. <gx:option> 하위 요소가 하나 이상 있습니다. <gx:option> 요소에는 name 속성과 enabled 속성이 있습니다. name는 스트리트 뷰 이미지('스트리트 뷰'), 과거 이미지('과거 이미지'), 주어진 시간에 대한 햇빛 효과('태양') 중 하나를 지정합니다. enabled 속성은 지정된 보기 모드를 사용 설정하거나 중지하는 데 사용됩니다.
<gx:horizFov>
둘러보기 동안 AbstractView의 수평 시야를 정의합니다. 이 요소는 둘러보기 외부의 AbstractView에 영향을 미치지 않습니다. <gx:horizFov>은 둘러보기를 녹화하는 동안 Google 어스 클라이언트 (버전 6.1 이상)에 의해 자동으로 삽입됩니다. 일반 AbstractView에는 60의 값이 할당됩니다. 스트리트 뷰 내의 뷰에는 Google 어스의 표준 스트리트 뷰 시야와 일치하도록 85의 값이 할당됩니다. 설정된 후에는 새 값이 지정될 때까지 이 값이 후속 보기에 적용됩니다.

확장 기준

<gx:altitudeMode>

이 요소는 OGC KML 2.2 표준의 확장이며 Google 어스 5.0 이상에서 지원됩니다. 자세히 알아보기

문법

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

설명

OGC KML 표준 <altitudeMode> 요소 대신 사용할 수 있으며 표준 고도 모드 값 외에도 다음 값을 허용합니다.

  • 해저 기준 - 고도를 해저 위의 미터 단위 값으로 해석합니다. KML 지형지물이 해수면이 아닌 지면 위에 있으면 고도는 지면 위에 있는 것으로 해석됩니다.
  • 해저에 고정 - 고도 사양이 무시되며 KML 지형지물이 해저에 배치됩니다. KML 지형지물이 해수면이 아닌 지면 위에 있으면 해저에 고정이 대신 지면에 고정됩니다.

<altitudeMode>와 마찬가지로 <gx:altitudeMode>는 다음 항목에 영향을 줍니다.

  • <coordinates> 요소 내 고도 좌표
  • <LatLonAltBox><minAltitude><maxAltitude>
  • <Location>, <GroundOverlay>, AbstractView(<altitude><Camera>) 내의 <altitude>.

고도 모드에 대한 자세한 내용은 KML 개발자 가이드고도 모드 장을 참고하세요.

 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>

이 요소는 OGC KML 2.2 표준의 확장이며 Google 어스 5.0 이상에서 지원됩니다. 자세히 알아보기

문법

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

설명

<gx:AnimatedUpdate><Update>을 사용하여 KML 기능 둘러보기 중에 변경사항을 제어합니다. KML 지형지물을 변경해도 DOM은 수정되지 않습니다. 즉, 둘러보기가 끝나면 변경사항이 취소되고 KML에 저장되지 않습니다.

<gx:AnimatedUpdate>에는 <gx:duration> 값을 포함하여 업데이트가 이루어지는 시간(초)을 지정해야 합니다. 정수, 부동 소수점 수 및 색상 입력란은 이 시간 동안 원래 값에서 새 값으로 원활하게 처리됩니다. 보간이 적합하지 않은 부울, 문자열 및 기타 값은 이 시간이 끝난 후 업데이트됩니다.

<gx:AnimatedUpdate> 및 투어 타임라인에 대한 자세한 내용은 KML 개발자 가이드둘러보기 챕터에 있는 둘러보기 타임라인을 참고하세요.

<gx:duration>
업데이트가 이루어지는 시간(초)을 지정합니다.
<gl:지연된 시작>
업데이트를 시작하기 전에 대기할 시간(초)을 지정합니다(인라인 시작 위치 뒤).

아래 예는 아이콘 크기의 변경을 보여줍니다. 이 변경은 5초에 걸쳐 일어납니다.

 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>

다음을 확장

다음을 포함

<BalloonStyle>

문법

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

설명

위치표시의 설명 풍선을 그리는 방식을 지정합니다. <bgColor>는 지정된 경우 풍선의 배경색으로 사용됩니다. Google 어스에 기본 설명 풍선이 표시되는 방식을 설명하는 다이어그램은 <지형지물>을 참고하세요.

풍선 스타일에만 한정되는 요소

<bgColor>
풍선의 배경 색상입니다 (선택사항). 색상 및 불투명도 (알파) 값은 16진수 표기법으로 표현됩니다. 색상 값의 범위는 0~255 (00~ff)입니다. 표현식의 순서는 aabbggrr이며 여기서 aa=alpha (00~ff), bb=blue (00~ff), gg=green(00~ff), rr=red (00~ff)입니다. 알파의 경우 00는 완전히 투명하며 ff는 완전히 불투명합니다. 예를 들어 불투명도가 50%인 파란색을 오버레이에 적용하려면 <bgColor>7fff0000</bgColor>를 지정합니다. 여기서 alpha=0x7f, blue=0xff, green=0x00, red=0x00. 기본값은 불투명한 흰색 (ffffffff)입니다.

참고: <BalloonStyle> 내의 <color> 요소는 더 이상 지원되지 않습니다. 대신 <bgColor>를 사용하세요.

<textColor>
텍스트의 전경색입니다. 기본값은 검은색 (ff000000)입니다.
<텍스트>
풍선에 표시되는 텍스트입니다. 텍스트가 지정되지 않으면 Google 어스는 기본 풍선을 그립니다. 이때 굵게 표시된 지형지물 <name>, 지형지물 <description>, 운전 경로 링크, 흰색 배경, 지형지물의 점 좌표에 연결된 꼬리 (지정된 경우)를 사용합니다.
지형지물의 하위 요소를 참조하도록 $[name], $[description], $[address], $[id], $[snippet] 형식을 사용하여 <text> 태그에 항목을 추가할 수 있습니다. Google 어스는 현재 지형지물에서 상응하는 문자열 항목을 찾아 풍선에서 해당 정보로 대체합니다. 풍선에 도착지 - 여기부터 운전 경로를 포함하려면 $[geDirections] 태그를 사용합니다. 풍선에 운전 경로 링크가 표시되지 않도록 하려면 <text> 요소에 일부 콘텐츠를 포함하거나 $[description] 을 포함하여 기본 지형지물 <description>을 대체하세요.
예를 들어 다음 KML 발췌 부분에서 $[name]$[description] 필드는 이 풍선 스타일을 사용하는 지형지물 요소에 있는 <name> 및 <description> 필드로 대체됩니다.
<displayMode>
<displayMode>가 기본값인 경우 Google 어스는 <text>에서 제공하는 정보를 사용하여 풍선을 만듭니다 . <displayMode>가 숨기기인 경우 Google 어스는 풍선을 표시하지 않습니다. Google 어스에서 풍선의 <displayMode>가 숨김인 위치표시의 목록 보기 아이콘을 클릭하면 Google 어스가 위치표시로 이동합니다.

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

다음을 확장

다음에 의해 포함

맨 위로

<gx:balloonVisibility>

이 요소는 OGC KML 2.2 표준의 확장이며 Google 어스 5.0 이상에서 지원됩니다. 자세히 알아보기

문법

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

설명

설명 풍선의 표시 여부를 전환합니다. 업데이트할 풍선은 객체의 XML ID (예: <Placemark targetId="xxx">)로 식별되어야 합니다.

첫 번째 예는 위치표시가 있는 <gx:balloonVisibility>를 보여 줍니다. 아이콘이 로드될 때 설명 풍선이 열립니다.
풍선 가시성_예시.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>

두 번째 예는 둘러보기 내에서 <gx:balloonVisibility>를 사용하는 방법을 보여줍니다. 둘러보기 중에 여러 풍선이 뷰어에 정보를 제공하면서 열리고 닫힙니다.
풍선 가시성_둘러보기예.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>

확장

<Camera>

문법

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

설명

장면을 보는 가상 카메라를 정의합니다. 이 요소는 지표면을 기준으로 한 카메라의 위치 및 카메라의 보는 방향을 정의합니다. 카메라 위치는 <경도>, <위도>, <고도>, <고도 모드> 또는 <고도 모드>로 정의됩니다. 카메라의 시야 방향은 <제목>, <기울기> 및 <롤>로 정의됩니다. <카메라>는 모든 지형지물 또는 <네트워크 링크 제어>의 하위 요소일 수 있습니다. 상위 요소는 <카메라에 동시에'와 <카메라에 동시에 포함'을 포함할 수 없습니다.

<Camera>를 사용하면 6단계 자유도로 보기를 제어할 수 있으므로, 카메라를 공간에 배치한 다음 X, YZ 축을 기준으로 회전할 수 있습니다. 가장 중요한 점은 카메라 보기를 기울여 지평선 위를 바라보는 것입니다.

<Camera>에는 타임 프리미티브(<gx:TimeSpan> 또는 <gx:TimeStamp>)도 포함될 수 있습니다. 카메라의 시간 값은 과거 이미지와 햇빛, 타임스탬프가 적용된 지형지물의 표시에 영향을 미칩니다. 자세한 내용은 개발자 가이드의 시간 및 애니메이션 장에 있는 AbstractView가 포함된 시간을 참조하세요.

보기 정의

Feature 또는 <NetworkLinkControl> 내에서 <Camera> 또는 <LookAt> 객체를 사용합니다 (동일 객체에 둘 다 있는 것은 아님). <Camera> 객체는 뷰어의 위치와 방향 측면에서 시점을 정의합니다. <Camera> 객체를 사용하면 지표면에 없는 보기를 지정할 수 있습니다. <LookAt> 객체는 표시 중인 항목의 관점에서 시점을 정의합니다. <LookAt> 객체는 <Camera>보다 범위가 제한되어 있으며 일반적으로 보기 방향이 지표면과 교차해야 합니다.

다음 다이어그램은 가상 카메라에 연결된 X, Y, Z 축을 보여줍니다.

  • X 축은 카메라 오른쪽을 향하며, 오른쪽 벡터라고 부릅니다.
  • Y 축은 화면을 기준으로 '위쪽' 방향을 정의하며, 위쪽 벡터라고 부릅니다.
  • Z 축은 화면 중앙에서 시점을 향합니다. 카메라는 -Z 축을 내려다보며 이를 뷰 벡터라고 부릅니다.

변환 순서

순환게재 순서가 중요합니다. 기본적으로 카메라는 지구를 향하는 -Z 축을 수직으로 내려다보고 있습니다. 회전이 수행되기 전에 카메라는 Z 축을 따라 <Elevation>로 변환됩니다. 변환 순서는 다음과 같습니다.

  1. <altitude> - Z 축을 따라 <Elevation>로 변환
  2. <heading> - Z 축을 기준으로 회전
  3. <tilt> - X 축을 기준으로 회전
  4. <roll> - Z 축을 기준으로 다시 회전합니다.

회전이 적용될 때마다 두 개의 카메라 축이 방향을 변경합니다.

카메라에만 한정되는 요소

<longitude>
가상 카메라 (시점)의 경도입니다. 본초자오선을 기준으로 한 도 단위 각거리입니다. 자오선 서쪽의 값 범위는 -180~0도입니다. 자오선 동쪽의 값 범위는 0~180도입니다.
<latitude>
가상 카메라의 위도입니다. 적도 (0도)의 북쪽 또는 남쪽의 각도입니다. 값 범위는 -90~90도입니다.
<altitude>
지표면으로부터의 카메라 거리입니다(미터 단위). 카메라의 <ElevationMode> 또는 <gx:heightMode>에 따라 해석됩니다.
<heading>
카메라의 방향(방위각)입니다(단위: 도). 기본값은 0 (진북)입니다. 그림을 참고하세요. 값 범위는 0~360도입니다.
<tilt>
X 축을 기준으로 카메라를 도 단위로 회전합니다. 값이 0인 경우 뷰가 지구를 똑바로 향한다는 것을 나타냅니다 (가장 일반적인 경우). <tilt>의 값이 90이면 보기가 지평선을 향함을 나타냅니다. 90보다 큰 값은 뷰가 하늘을 가리키고 있음을 나타냅니다. <tilt>의 값은 +180도로 고정됩니다.
<roll>
Z 축을 기준으로 카메라를 도 단위로 회전합니다. 값의 범위는 -180~+180도입니다.
<altitudeMode>
카메라에 지정된 <Elevation>이 해석되는 방식을 지정합니다. 가능한 값은 다음과 같습니다.
  • 지면 기준 - (기본값) <Elevation>을 지면 위의 미터 단위 값으로 해석합니다. 지점이 물 위에 있을 경우 <height>는 해수면 위의 미터 단위 값으로 해석됩니다. 해저를 기준으로 지점을 지정하려면 아래 <gx:heightMode>를 참조하세요.
  • 지면에 고정 - 카메라의 경우 정확하게 지형 높이에 배치하면 시점이 지형과 교차함을 의미하며 보기가 가려지므로 이 설정은 카메라를 지면 기준으로도 배치합니다.
  • 절대값 - <altitude>를 해수면 위의 미터 단위 값으로 해석합니다.
<gx:altitudeMode>
해저 기준의 고도를 허용하는 Google 확장 네임스페이스의 KML 확장입니다. 값은 다음과 같습니다.
  • 해저 기준 - <Elevation>을 해저 위의 미터 단위 값으로 해석합니다. 지점이 해수면이 아닌 지면 위에 있으면 <altitude>는 지면 위에 있는 것으로 해석됩니다.
  • 해저에 고정 - <height> 사양이 무시되고 카메라가 해저에 배치됩니다. 지점이 해수면이 아닌 지면 위에 있으면 카메라가 지면에 배치됩니다.

다음을 확장

다음에 의해 포함

맨 위로

<ColorStyle>

문법

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

설명

이는 추상 요소이며 KML 파일에서 직접 사용할 수 없습니다. 확장된 스타일 유형의 색상 및 색상 모드를 지정하기 위한 요소를 제공합니다.

색상 스타일에만 한정되는 요소

<color>
색상 및 불투명도 (알파) 값은 16진수 표기법으로 표현됩니다. 색상 값의 범위는 0~255입니다(00~ff). 알파의 경우 00는 완전히 투명하고 ff는 완전히 불투명합니다. 표현식의 순서는 aabbggrr이며, 여기서 aa=alpha(00~ff), bb=blue(00~ff), gg=green(00~ff), rr=red(00~ff)입니다. 예를 들어 불투명도가 50%인 파란색을 오버레이에 적용하려면 <color>7fff0000</color>를 지정합니다. 여기서 alpha=0x7f, blue=0xff, green=0x00, red=0x00.
<colorMode>
<colorMode>의 값은 정상(효과 없음) 및 무작위입니다. 임의 값은 다음과 같이 기본 <color>에 임의의 선형 배율을 적용합니다.
  • 색상을 무작위로 선택하려면 기본 <color>를 흰색 (ffffffff)으로 지정합니다.
  • 단일 색상 구성요소 (예: 빨간색의 경우 ff0000ff 값)를 지정하면 이 구성요소 (빨간색)에 임의의 색상 값이 선택됩니다. 이 경우 값의 범위는 00 (검은색)~ff (빨간색)입니다.
  • 두 가지 또는 모든(세 가지) 색상 구성요소의 값을 지정하면 각 색상 구성요소에 임의의 선형 배율이 적용되며, 결과의 범위는 검은색에서 각 구성요소에 지정된 최대값까지입니다.
  • 색상의 불투명도는 <color>의 알파 구성요소에서 가져오며 무작위로 지정되지 않습니다.

확장

확장 기준

맨 위로

<Container>

문법

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

설명

이는 추상 요소이며 KML 파일에서 직접 사용할 수 없습니다. 컨테이너 요소에는 하나 이상의 지형지물이 포함되며 중첩 계층 구조를 만들 수 있습니다.

확장

확장 기준

맨 위로

<Document>

문법

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

설명

문서는 지형지물 및 스타일의 컨테이너입니다. 이 요소는 KML 파일에서 공유 스타일을 사용하는 경우에 필요합니다. 다음 단계를 따라야 하는 공유 스타일을 사용하는 것이 좋습니다.

  1. 문서에서 모든 스타일을 정의합니다. 각 스타일에 고유한 ID를 할당합니다.
  2. 지정된 지형지물 또는 StyleMap 내에서 <styleUrl> 요소를 사용하여 스타일의 ID를 참조합니다.

공유 스타일은 문서의 지형지물로 상속되지 않습니다.

각 지형지물은 <styleUrl> 요소에서 사용하는 스타일을 명시적으로 참조해야 합니다. 문서에 적용되는 스타일의 경우 (예:ListStyle) 문서 자체에서 <styleUrl>을 명시적으로 참조해야 합니다. 예를 들면 다음과 같습니다.

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

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

폴더에 공유 스타일을 넣지 않습니다.

다음 예에서는 공유 스타일의 사용을 보여줍니다.

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

다음을 확장

포함

  • <Feature>에서 파생된 요소(없을 수도 있음)
  • <StyleSelector>에서 파생된 요소(없을 수도 있음)
  • <Schema>에서 파생된 요소(없을 수도 있음)

맨 위로

<gx:duration>

이 요소는 OGC KML 2.2 표준의 확장이며 Google 어스 5.0 이상에서 지원됩니다. 자세히 알아보기

문법

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

설명

<gx:duration>는 이벤트의 기간을 지정하여 gx:TourPrimitive를 확장합니다. 시간은 XML의 이중 데이터 유형을 사용하여 초 단위로 작성됩니다.

시간 및 <gx:FlyTo>

기간이 <gx:FlyTo> 요소 내에 포함되어 있으면 브라우저가 이전 지점에서 지정된 지점으로 이동하는 데 걸리는 시간을 지정합니다.

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

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

시간 및 <gx:AnimatedUpdate>

업데이트가 이루어지는 시간을 지정합니다. 정수, 부동 소수점 수 및 색상 입력란은 이 시간 동안 원래 값에서 새 값으로 원활하게 처리됩니다. 보간이 적합하지 않은 부울, 문자열 및 기타 값은 이 시간이 끝난 후 업데이트됩니다.

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

    ....

  </Update>
</gx:AnimatedUpdate>

 

<확장 데이터>

문법

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

설명

ExtendedData 요소는 KML 지형지물 (네트워크 링크, 위치표시, 지면 오버레이, 사진 오버레이, 화면 오버레이, 문서, 폴더)에 맞춤 데이터를 추가하는 세 가지 기법을 제공합니다. 이러한 기술은 다음과 같습니다.

  • <Data> 요소를 사용하여 형식이 지정되지 않은 데이터/값 쌍 추가(기본)
  • <Schema> 요소를 사용하여 입력된 새 필드를 선언한 다음 <SchemaData> 요소를 사용하여 초기화 (고급)
  • KML 파일 내의 외부 네임스페이스를 참조하여 다른 네임스페이스에 정의된 XML 요소 참조 (기본)

이러한 기술은 단일 KML 파일 또는 지형지물 내에서 여러 데이터에 대한 결합을 수행할 수 있습니다.

자세한 내용은 'KML 주제'의 맞춤 데이터 추가를 참고하세요.

확장 데이터에만 한정되는 요소

<데이터 이름 ="string">
유형이 지정되지 않은 이름/값 쌍을 만듭니다. 이름에는 namedisplayName이라는 두 가지 버전이 있을 수 있습니다. 이름 속성은 KML 파일 내에서 데이터 쌍을 식별하는 데 사용됩니다. displayName 요소는 공백 및 HTML 형식을 포함하여 올바른 형식이 지정된 이름이 Google 어스에 표시될 때 사용됩니다. <BalloonStyle>의 <text> 요소에서 $[name/displayName] 표기법은 <displayName>으로 대체됩니다. <Data> 요소의 이름 속성 값을 이 형식으로 대체하면 (예: $[holeYardage]) 속성 값이 <value>로 대체됩니다. 기본적으로 위치표시의 풍선에 이름/값 쌍이 표시됩니다.
<displayName>
이름의 형식이 지정된 선택적 버전이며 표시용으로 사용됩니다.
<value>
데이터 쌍의 값입니다.
<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">
이 요소는 <Schema>와 함께 사용되어 유형이 지정된 맞춤 데이터를 KML 지점에 추가합니다. schemaUrl 속성으로 식별되는 스키마 요소는 맞춤 데이터 유형을 선언합니다. 실제 데이터 객체(맞춤 데이터의 인스턴스)는 SchemaData 요소를 사용하여 정의됩니다.
<schemaURL>은 전체 URL, 외부 KML 파일에 정의된 스키마 ID에 대한 참조 또는 동일한 KML 파일에 정의된 스키마 ID에 대한 참조일 수 있습니다. 다음 사양이 모두 허용됩니다.
schemaUrl="http://host.com/PlacesIHaveLived.kml#my-schema-id"
schemaUrl="AnotherFile.kml#my-schema-id"
schemaUrl="#schema-id"   <!-- same file -->
스키마 요소는 항상 문서의 하위 요소입니다. 확장 데이터 요소는 맞춤 데이터가 포함된 지형지물의 하위 요소입니다.
<SimpleData name="string">
이 요소는 이름 속성으로 식별되는 맞춤 데이터 필드에 값을 할당합니다. 이 맞춤 데이터 필드의 유형과 이름은 <스키마> 요소에 선언되어 있습니다.
다음은 맞춤 데이터 요소 2개를 정의하는 예입니다.
<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>
<namespace_prefix:other>
이 요소를 사용하면 유형이 지정되지 않은 맞춤 데이터를 추가할 수 있습니다. 파일의 <KML> 요소 또는 <ExtendedData> 요소의 속성으로 네임스페이스 접두사를 참조하고 각 데이터 요소의 이름 앞에 네임스페이스 접두사를 붙여야 합니다. 이 방식으로 추가된 맞춤 데이터는 KML 파일에 보존되지만, Google 어스는 어떤 방식으로도 사용되지 않습니다. 항상 파일과 함께 저장됩니다.
다음 예에서는 'camp' 네임스페이스 프리픽스를 사용합니다.
<ExtendedData xmlns:prefix="camp">
<camp:number>14</camp:number>
<camp:parkingSpaces>2</camp:parkingSpaces>
<camp:tentSites>4</camp:tentSites>
</ExtendedData>

다음에 의해 포함

다음을 참조하세요.

<Feature>

문법

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

설명

이는 추상 요소이며 KML 파일에서 직접 사용할 수 없습니다. 다음 다이어그램은 지형지물의 일부 요소가 Google 어스에 어떻게 나타나는지 보여줍니다.

지형지물에만 한정되는 요소

<name>
3D 뷰어에서 객체에 대한 라벨로 표시되는 사용자 정의 텍스트 (예: 위치표시, 폴더, 네트워크 링크)입니다.
<visibility>
부울 값. 지형지물을 처음 로드할 때 3D 뷰어에 그릴지 여부를 지정합니다. 지형지물을 표시하려면 모든 상위 항목의 <Visibility> 태그도 1로 설정해야 합니다. Google 어스 목록 보기의 각 지형지물에는 사용자가 지형지물의 표시 여부를 제어할 수 있는 확인란이 있습니다.
<open>
부울 값. 문서 또는 폴더가 장소 패널에 처음 로드될 때 닫혀 있는지 아니면 열린 상태로 표시되는지 지정합니다. 0=접힘 (기본값), 1=펼침 <ListStyle>도 참조하세요. 이 요소는 문서, 폴더 및 네트워크 링크에만 적용됩니다.
<atom:author>

KML 2.2에서는 KML 파일에 작성자 및 관련 웹사이트에 대한 데이터를 포함하기 위한 새로운 요소를 지원합니다. 이 정보는 Google 어스와 같은 어스 브라우저 및 Google 지도와 같은 다른 애플리케이션에서 지역 검색결과에 표시됩니다. KML에 사용되는 귀속 요소는 다음과 같습니다.

  • atom:author 요소 - atom:name의 상위 요소
  • atom:name 요소 - 작성자의 이름
  • atom:link 요소 - href 속성 포함
  • href 속성 - KML/KMZ 파일이 포함된 웹페이지의 URL

이러한 요소는 Atom 신디케이션 형식으로 정의됩니다. 전체 사양은 http://atompub.org에서 확인할 수 있습니다. (다음 샘플 참고)

<atom:author> 요소는 KML 지형지물의 작성자를 지정하는 <atom:name>의 상위 요소입니다.

<atom:link href="..." >
이 KML 또는 KMZ 파일이 포함된 웹사이트의 URL을 지정합니다. 요소를 사용하는 모든 KML 파일에 이 요소의 네임스페이스를 포함해야 합니다(xmlns:atom="http://www.w3.org/2005/Atom"). (다음 샘플 참고).
<address>
표준 거리, 도시, 주/도 또는 우편번호로 작성된 구조화되지 않은 주소를 나타내는 문자열 값입니다. 위도와 경도 좌표를 사용하는 대신 <address> 태그를 사용하여 지점의 위치를 지정할 수 있습니다. (<Point>를 입력하는 경우 <address>보다 우선합니다.) Google 어스에서 이 태그에 지원되는 지역을 확인하려면 Google 지도 도움말로 이동하세요.
<xal:AddressDetails>
xAL 또는 eXtensible Address Language로 형식이 지정된 구조화된 주소(주소 형식 지정을 위한 국제 표준) <xal:AddressDetails>는 KML에서 Google 지도의 지오코딩에만 사용됩니다. 자세한 내용은 Google Maps API 문서를 참고하세요. 현재 Google 어스는 이 요소를 사용하지 않습니다. 대신 <address>를 사용하세요. 이 요소를 사용하는 모든 KML 파일에 이 요소의 네임스페이스를 포함해야 합니다. xmlns:xal="urn:oasis:names:tc:ciq:xsdschema:xAL:2.0"
<phoneNumber>
전화번호를 나타내는 문자열 값입니다. 이 요소는 Google 모바일 지도에서만 사용됩니다. 자바를 사용하는 휴대전화의 업계 표준은 RFC2806입니다.
자세한 내용은 http://www.ietf.org/rfc /rfc2806.txt를 참조하세요. 
<Snippet maxLines="2" >
특성에 대한 간단한 설명. Google 어스에서 이 기능이 장소 이름 아래 지형지물 이름 아래에 표시됩니다. 스니펫이 제공되지 않으면 <description>의 처음 두 줄이 사용됩니다. Google 어스에서 아이콘에 설명과 스니펫이 모두 포함된 경우 <스니펫>이 장소 패널의 아이콘 아래에 표시되고 <설명>이 아이콘의 설명 풍선에 표시됩니다. 이 태그는 HTML 마크업을 지원하지 않습니다. <snippet>에는 표시할 최대 줄 수를 지정하는 정수인 maxLines 속성이 있습니다.
<description>

설명 풍선에 표시되는 사용자 제공 콘텐츠입니다.

<description> 요소에 지원되는 콘텐츠가 Google 어스 4.3에서 5.0으로 변경되었습니다. 각 버전의 구체적인 정보는 아래에 나열되어 있으며 두 버전의 공통 정보가 이어서 나옵니다.

Google 어스 5.0

Google 어스 5.0 이상에서는 설명 풍선 내에서 일반 텍스트 콘텐츠뿐만 아니라 전체 HTML 및 자바스크립트를 지원합니다. 설명 태그의 콘텐츠는 WebKit 오픈소스 웹브라우저에 의해 렌더링되며 WebKit 기반 브라우저에서와 동일하게 표시됩니다.

일반 제한사항

로컬 파일 링크는 일반적으로 허용되지 않습니다. 이렇게 하면 악성 코드가 시스템을 손상시키거나 데이터에 액세스하지 못하게 됩니다. 로컬 파일 시스템에 대한 액세스를 허용하려면 환경설정 > 로컬 파일 및 개인 데이터 액세스 허용을 선택합니다. 로컬 파일 시스템의 이미지 파일 링크가 <img> 태그 내에 포함된 경우에는 항상 허용됩니다.

KMZ 파일로 압축된 콘텐츠는 로컬 파일 시스템에 있는 경우에도 액세스할 수 있습니다.

쿠키가 사용 설정되어 있지만, 동일한 기본 정책의 목적에 따라 로컬 콘텐츠는 다른 콘텐츠와(다른 로컬 콘텐츠 포함) 도메인을 공유하지 않습니다.

HTML

HTML은 모든 웹키트 브라우저에서와 마찬가지로 대부분 렌더링됩니다.

KML에 직접 작성된 HTML에 포함된 경우 타겟은 무시됩니다. 이러한 모든 링크는 타겟이 _blank로 설정된 것처럼 열립니다. 지정된 모든 대상은 무시됩니다.

하지만 iFrame에 포함되거나 자바스크립트 또는 DHTML을 사용하여 동적으로 생성된 HTML은 target="_self"를 기본값으로 사용합니다. 다른 대상이 지정될 수 있으며 지원됩니다.

KMZ 파일의 콘텐츠, 로컬 앵커 링크 및 ;flyto 메서드는 iFrame에 포함된 HTML에서 타겟팅할 수 없습니다.

사용자가 iFrame의 너비에 width="100%"를 지정하면 iFrame의 너비는 풍선의 다른 모든 콘텐츠에 따라 달라지며, 레이아웃 크기를 계산하는 동안 무시해야 합니다. 이 규칙은 풍선 내의 다른 블록 요소에도 적용됩니다.

자바스크립트

대부분의 자바스크립트가 지원됩니다. 대화상자를 만들 수 없습니다.alert() 및 프롬프트()와 같은 함수는 표시되지 않습니다. 하지만 다른 오류 및 예외와 마찬가지로 시스템 콘솔에 기록됩니다.

CSS

CSS가 허용됩니다. 일반 웹 브라우저의 CSS와 마찬가지로 CSS는 텍스트와 페이지 요소의 스타일을 지정하고 설명 풍선의 크기와 모양을 제어하는 데 사용될 수 있습니다.

Google 어스 4.3

<description> 요소는 일반 텍스트뿐 아니라 표를 포함한 HTML 형식 지정 요소의 하위 집합을 지원합니다 (아래의 KML 예 참고). 동적 페이지 마크업 (PHP, JSP, ASP), 스크립트 언어 (VBScript, 자바스크립트) 및 애플리케이션 언어 (자바, Python)와 같은 다른 웹 기반 기술은 지원하지 않습니다. Google 어스 버전 4.2에서는 동영상이 지원됩니다. 아래 를 참고하세요.

일반 정보

설명에 HTML 마크업이 포함되지 않은 경우 Google 어스에서는 줄 바꿈을 <br>로 바꾸고 URL을 앵커 태그로 래핑하여 형식을 지정합니다. 월드 와이드 웹의 유효한 URL 문자열은 자동으로 이 URL의 하이퍼링크로 변환됩니다 (예: http://www.google.com). 따라서 간단한 링크를 얻기 위해 URL을 <a href="http://.."></a> 태그로 둘러싸지 않아도 됩니다.

HTML을 사용하여 특정 단어 주위에 하이퍼링크를 만들거나 HTML에 이미지를 포함하는 경우 HTML 항목 참조 또는 CDATA 요소를 사용하여 꺾쇠괄호, 아포스트로피 및 기타 특수 문자를 이스케이프 처리해야 합니다. CDATA 요소는 XML 파서에 괄호 안에 사용된 특수 문자를 무시하도록 지시합니다. 이 요소의 형식은 다음과 같습니다.

<![CDATA[
  special characters here
]]> 

CDATA 요소를 사용하지 않으려면 항목 참조를 사용하여 모든 특수 문자를 대체할 수 있습니다.

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

<a> 요소 사용을 통해 지정된 기타 동작

KML은 <a> 요소 내에서 href 속성과 type 속성 사용을 지원합니다.

앵커 요소 <a>에는 URL을 지정하는 href 속성이 포함되어 있습니다.

href가 KML 파일이고 파일 확장자가 .KML 또는 .kmz인 경우 사용자가 파일을 클릭하면 Google 어스에서 해당 파일을 바로 로드합니다. URL이 Google 어스에서 알 수 없는 확장자로 끝나는 경우 (예: .html) URL이 브라우저로 전송됩니다.

href는 프래그먼트 URL일 수 있습니다. 즉, # 기호 뒤에 KML 식별자가 나오는 URL입니다. 사용자가 프래그먼트 URL이 포함된 링크를 클릭하면 기본적으로 브라우저가 해당 ID와 프래그먼트가 일치하는 지형지물로 이동합니다. 지형지물에 바라보기 또는 카메라 요소가 있는 경우 지형지물은 지정된 관점에서 표시됩니다.

다음 세 문자열 중 하나를 프래그먼트 URL에 추가하여 동작을 추가로 지정할 수 있습니다.

  • ;flyto (기본값) - 지형지물로 이동
  • ;oon - 지형지물의 풍선을 열지만 지형지물로 이동하지 않음
  • ;oonFlyto - 지형지물의 풍선을 열고 지형지물로 이동

예를 들어 다음 코드는 CraftsFairs.KML 파일을 열고 ID가 'Albuquerque'인 위치표시로 이동한 다음 풍선을 열도록 지정합니다.

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

href.KML 또는 .kmz로 끝나지 않는 경우 type 속성이 <a> 요소 내에서 사용되지만 참조는 KML의 컨텍스트에서 해석되어야 합니다. 다음 사항을 지정합니다.

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

예를 들어 다음 URL은 type 속성을 사용하여 파일 확장자가 .php인 경우에도 Google 어스에 파일을 로드해야 한다고 알립니다.

<a href="myserver.com/cgi-bin/generate-kml.php#placemark123"
   type="application/vnd.google-earth.kml+xml">
<AbstractView>
지형지물에서 파생된 모든 요소와 관련된 시점을 정의합니다. <Camera><LookAt>을 참조하세요.
<TimePrimitive>
이 기능을 기간(<TimeSpan>) 또는 특정 시점(<TimeStamp>)과 연결합니다.
<styleUrl>
문서에 정의된 <Style> 또는 <StyleMap>의 URL입니다. 스타일이 같은 파일에 있다면 # 참조를 사용합니다. 스타일이 외부 파일에 정의된 경우 # 참조와 함께 전체 URL을 사용하세요. 예:
<styleUrl>#myIconStyleID</styleUrl>
<styleUrl>http://someserver.com/somestylefile.xml#restaurant</styleUrl>
<styleUrl>eateries.kml#my-lunch-spot</styleUrl>
<StyleSelector>
스타일 및 스타일 지도를 하나 이상 정의하여 위치표시에서 지형지물 또는 도형에서 파생된 요소의 모양을 맞춤설정할 수 있습니다. (<BalloonStyle>, <ListStyle>, <StyleSelector>, <ColorStyle>에서 파생된 스타일 참조) 지형지물 내에 정의된 스타일을 '인라인 스타일'이라고 하며, 이 스타일을 포함하는 지형지물에만 적용됩니다. <Document>의 하위 요소로 정의된 스타일을 '공유 스타일'이라고 합니다. 공유 스타일에는 정의된 ID가 있어야 합니다. 이 ID는 <Document> 내에서 하나 이상의 지형지물에 의해 참조됩니다. 스타일 요소가 공유 스타일과 지형지물(즉, 폴더, GroundOverlay, NetworkLink, Placemark 또는 ScreenOverlay)의 인라인 스타일 둘 다에 정의된 경우 지형지물의 인라인 스타일에 대한 값이 공유 스타일의 값보다 우선합니다.
<Region>
지역과 연결된 지형지물 및 도형은 지역이 활성화 상태인 경우에만 그려집니다. <Region>을 참조하세요.
<Metadata>
<ExtendedData>
KML 파일에 맞춤 데이터를 추가할 수 있습니다. 이 데이터는 (1) 외부 XML 스키마를 참조하는 데이터, (2) 유형이 지정되지 않은 데이터/값 쌍 또는 (3) 유형이 된 데이터일 수 있습니다. 지정된 KML 지점에는 이러한 유형의 맞춤 데이터가 포함될 수 있습니다.

설명 HTML 내 샘플 HTML 요소 사용

이 예는 Google 어스 4.3에서 <description> 요소로 지원되는 전체 HTML 요소 집합을 보여줍니다. Google 어스 5.0 이상에서는 전체 HTML 및 자바스크립트를 지원합니다.

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

문구 엘리먼트 사용 사례

이 예에서는 Atom 네임스페이스의 <atom:author>, <atom:name>, <atom:link> 요소를 사용하는 방법을 보여줍니다. <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>

샘플 동영상

이 예에서는 풍선 내에 플래시 동영상을 삽입하는 방법을 보여줍니다.

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

다음을 확장

확장 기준

<gx:FlyTo>

이 요소는 OGC KML 2.2 표준의 확장이며 Google 어스 5.0 이상에서 지원됩니다. 자세히 알아보기

문법

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

설명

<gx:FlyTo>는 둘러보기 중에 브라우저에서 이동하는 공간의 지점을 지정합니다. 추상 보기 한 개를 포함해야 하며 현재 지점에서 정의된 지점까지 이동하는 데 걸리는 시간 및 비행 방법을 각각 지정하는 <gx:duration><gx:flyToMode> 요소를 포함해야 합니다.

<gx:flyToMode>

<gx:flyToMode>에는 기본바운스 등 두 가지 값이 허용됩니다.

  • 부드러운 빠른 이동은 지점에서 각 지점까지 중단되지 않고 이동하도록 합니다. 끊기지 않는 일련의 기본 빠른 이동은 0의 속도로 시작하고 끝나며, 각 지점에서 속도가 느려지지 않습니다. 일련의 기본 빠른 이동은 다음 요소로 구분됩니다.
    • <gx:flyToMode>bounce</gx:flyToMode>
    • <gx:Wait>
    즉, 위 요소 중 하나 바로 앞에 있는 기본 빠른 이동에서 속도가 0이 됩니다. 일련의 기본 빠른 이동은 <gx:AnimatedUpdate> 요소로는 중단되지 않습니다.

  • 바운스 빠른 이동은 각각 0의 속도에서 시작하고 0의 속도로 끝납니다.

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

다음을 확장

다음을 포함

<Folder>

문법

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

설명

폴더는 다른 기능을 계층적으로 정렬하는 데 사용됩니다 (폴더, 위치표시, 네트워크 링크 또는 오버레이). 지형지물은 지형지물과 모든 상위 항목이 표시되는 경우에만 표시됩니다.

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

다음을 확장

다음을 포함

<Geometry>

문법

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

설명

이는 추상 요소이며 KML 파일에서 직접 사용할 수 없습니다. 파생된 모든 도형 객체에 대한 자리표시자 객체를 제공합니다.

확장

확장 기준

<GroundOverlay>

문법

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

설명

이 요소는 지형 위에 배치되는 이미지 오버레이를 그립니다. <Icon>의 하위 요소인 <href>는 오버레이로 사용할 이미지를 지정합니다. 이 파일은 로컬 파일 시스템 또는 웹 서버에 있을 수 있습니다. 이 요소를 생략하거나 <href>가 포함되어 있지 않으면 지면 오버레이에 의해 정의된 색상 및 LatLonBox 경계를 사용하여 직사각형을 그립니다.

지면 오버레이에만 한정되는 요소

<altitude>
지면 위의 거리를 미터 단위로 지정하며 고도 모드에 따라 해석됩니다.
<altitudeMode>
는 <Elevation>이 해석되는 방식을 지정합니다. 가능한 값은 다음과 같습니다.
  • 지면에 고정 - (기본값) 고도 사양을 무시하고 지형 위에 오버레이를 배치하도록 나타냅니다.
  • 절대값 - 요소 아래에 있는 지형의 실제 고도와 관계없이 해수면을 기준으로 고도를 설정합니다. 예를 들어 절대 고도 모드로 오버레이의 고도를 10미터로 설정한 경우 아래의 지형도 해수면보다 10미터 위에 있으면 오버레이가 지면 높이에 있는 것으로 표시됩니다. 지형이 해수면보다 3미터 위에 있으면 오버레이가 지형 위로 7미터 올라가 표시됩니다.
<x:고도 모드>
해저 기준의 고도를 허용하는 Google 확장 네임스페이스의 KML 확장입니다. 값은 다음과 같습니다.
  • 해저 기준 - <Elevation>을 해저 위의 미터 단위 값으로 해석합니다. 지점이 해수면이 아닌 지면 위에 있으면 <altitude>는 지면 위에 있는 것으로 해석됩니다.
  • 해저에 고정 - <height> 사양이 무시되고 오버레이가 해저에 배치됩니다. 지점이 해수면이 아닌 지면 위에 있으면 오버레이가 지면에 배치됩니다.
<LatLonBox>
지면 오버레이에 대한 경계 상자의 상단, 하단, 오른쪽, 왼쪽이 정렬되는 위치를 지정합니다.
  • <north>경계 상자 북쪽 가장자리의 위도를 0~±90의 십진수 각도로 지정합니다.
  • <south> 경계 상자 남쪽 가장자리의 위도를 0~±90의 십진수 각도로 지정합니다.
  • <east>경계 상자의 동쪽 가장자리에 대한 경도를 0에서 ±180의 십진수 각도로 지정합니다. (경도 180° 자오선과 겹치는 오버레이의 경우 값이 이 범위를 벗어나 확장 가능)
  • <west>경계 상자 서쪽 가장자리의 경도를 0에서 ±180의 십진수 각도로 지정합니다. (경도 180° 자오선과 겹치는 오버레이의 경우 값이 이 범위를 벗어나 확장 가능)
  • <rotation> 중심에 대한 오버레이의 회전을 지정합니다(도 단위). 값은 ±180일 수 있습니다. 기본값은 0 (북쪽)입니다. 회전은 시계 반대 방향으로 지정됩니다.
<LatLonBox>
   <north>48.25475939255556</north>
   <south>48.25207367852141</south>
   <east>-90.86591508839973</east>
   <west>-90.8714285289695</west>
   <rotation>39.37878630116985</rotation>
</LatLonBox> 
<gx:LatLonQuad>
사각형이 아닌 사각형 지면 오버레이에 사용됩니다.

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

다음을 확장

다음에 의해 포함

<Icon>

문법

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

설명

아이콘 스타일 또는 오버레이와 연결된 이미지를 정의합니다. 필수인 <href> 하위 요소는 오버레이 또는 위치표시의 아이콘으로 사용할 이미지의 위치를 정의합니다. 이 위치는 로컬 파일 시스템 또는 원격 웹 서버에 있을 수 있습니다. <x:x>, <x:y>, <x:w> 및 <x:h> 요소는 여러 아이콘이 포함된 이미지 (아이콘 팔레트라고도 함)에서 아이콘 하나를 선택하는 데 사용됩니다.

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

아이콘에만 한정되는 요소

<href>
아이콘을 로드하는 데 사용되는 HTTP 주소 또는 로컬 파일 사양입니다.
<gx:x>
<gx:y>
<href>가 아이콘 팔레트를 지정하는 경우 이러한 요소는 아이콘 팔레트의 왼쪽 하단으로부터의 오프셋(단위: 픽셀)을 식별합니다.x 및 y에 지정된 값이 없으면 아이콘 팔레트의 왼쪽 하단이 사용할 아이콘의 왼쪽 하단이라고 가정합니다.
<gx:w>
<gx:h>
<href>가 아이콘 팔레트를 지정하면 이러한 요소는 사용할 아이콘의 너비(<gx:w>) 및 높이(<gx:h>)를 지정합니다(픽셀 단위).
<refreshMode>
<새로고침 모드> 및 아래에 나열된 기타 요소에 관한 설명은 <링크>를 참고하세요.
<refreshInterval>
<viewRefreshMode>
<viewRefreshTime>
<viewBoundScale>
<viewFormat>
<httpQuery>

다음에 의해 포함

<IconStyle>

문법

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

설명

장소 패널과 Google 어스의 3D 뷰어에서 모두 장소 표시 아이콘을 그리는 방법을 지정합니다. <Icon> 요소는 아이콘 이미지를 지정합니다. <scale> 요소는 아이콘의 x, y 배율을 지정합니다. <IconStyle>의 <color> 요소에 지정된 색상이 <Icon>의 색상과 혼합됩니다.

아이콘 스타일에만 한정되는 요소

<scale>
아이콘의 크기를 조절합니다.

참고: <geomScale> 태그는 더 이상 지원되지 않습니다. 대신 <scale>을 사용하세요.

<heading>
방향 (즉, 북쪽, 남쪽, 동쪽, 서쪽)을 도 단위로 설정합니다. 기본값은 0 (북쪽)입니다. 그림을 참고하세요. 값 범위는 0~360도입니다.
<Icon>
맞춤 아이콘입니다. <IconStyle>에서 <Icon>의 유일한 하위 요소는 <href>입니다.
  • <href>: 아이콘을 로드하는 데 사용되는 HTTP 주소 또는 로컬 파일 사양입니다.
<hotSpot x="0.5" y="0.5" xunits="fraction" yunits="fraction">
위치표시에 지정된 <Point>에 '고정된' 아이콘 내 위치를 지정합니다. xy 값은 세 가지 방법으로 지정할 수 있습니다. 하나는 픽셀("pixels")이고, 다른 하나는 아이콘의 비율("fraction")이고, 다른 하나는 아이콘 오른쪽 상단에서 픽셀 단위의 오프셋인 인셋 픽셀("insetPixels")입니다. xy 위치는 서로 다른 방법으로 지정할 수 있습니다. 예를 들어 x는 픽셀이고 y는 분수가 될 수 있습니다. 좌표계의 원점은 아이콘의 왼쪽 하단에 있습니다.
  • x - 아이콘에 있는 지점의 x 구성요소를 나타내는 픽셀 수, 아이콘의 부분적인 구성요소 또는 픽셀 삽입입니다.
  • y - 아이콘에 있는 지점의 y 구성요소를 나타내는 픽셀 수, 아이콘의 부분적인 구성요소 또는 픽셀 삽입입니다.
  • x단위 - x 값이 지정된 단위입니다. 비율 값은 x 값이 아이콘의 비율임을 나타냅니다. 픽셀 값은 픽셀 단위로 x 값을 나타냅니다. insetPixels 값은 아이콘의 오른쪽 가장자리로부터의 들여쓰기를 나타냅니다.
  • yunits - y 값이 지정된 단위입니다. 비율 값은 y 값이 아이콘의 비율임을 나타냅니다. 픽셀 값은 픽셀 단위로 y 값을 나타냅니다. insetPixels 값은 아이콘의 상단 가장자리로부터의 들여쓰기를 나타냅니다.

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

다음을 확장

다음에 의해 포함

포함

<kml>

문법

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

설명

KML 파일의 루트 요소입니다. 필수 요소입니다. 파일 시작 부분에 있는 xml 선언을 따릅니다. 힌트 속성은 Google 어스에서 천체 데이터로 파일을 표시하기 위한 신호로 사용됩니다.

<KML> 요소에는 파일 내에서 참조되는 외부 XML 스키마의 네임스페이스도 포함될 수 있습니다.

기본 <KML> 요소에는 기능 0개 또는 기능 1개와 네트워크 링크 컨트롤 0개 또는 1개가 포함됩니다.

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

<LabelStyle>

문법

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

설명

3D 뷰어에서 지형지물의 <name>을 그리는 방식을 지정합니다. 라벨(이름)의 맞춤 색상, 색상 모드 및 배율을 지정할 수 있습니다.

참고: <labelColor> 태그는 지원 중단되었습니다. 대신 <LabelStyle>을 사용하세요.

<LabelStyle>에만 한정되는 요소

<scale>
라벨의 크기를 조절합니다.

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

다음을 확장

다음에 의해 포함

<gx:LatLonQuad>

이 요소는 OGC KML 2.2 표준의 확장이며 Google 어스 5.0 이상에서 지원됩니다. 자세히 알아보기

문법

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

설명

직사각형이 아닌 사각형 지면 오버레이를 허용합니다.

오버레이 영역을 정의하는 사각형의 꼭짓점 4개의 좌표를 지정합니다. 각각 경도 및 위도의 부동 소수점 값으로 구성된 정확히 4개의 좌표 튜플을 제공해야 합니다. 튜플 사이에 공백을 삽입합니다. 튜플 내에 공백을 포함해서는 안 됩니다. 좌표는 오버레이된 이미지의 왼쪽 하단에 해당하는 첫 번째 좌표와 함께 시계 반대 방향으로 지정해야 합니다. 이러한 모서리로 형성되는 모양은 볼록해야 합니다.

세 번째 값이 고도를 나타내는 튜플에 삽입되면 이 값은 무시됩니다. 고도는 <GroundOverlay>를 확장하는 <altitude><altitudeMode>(또는 <gx:altitudeMode>)를 사용하여 설정됩니다. 허용되는 고도 모드는 절대값, 지면에 고정, 해저에 고정입니다.

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

다음을 확장

다음에 의해 포함

<LinearRing>

문법

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

설명

닫힌 유도선(일반적으로 다각형의 외부 경계)을 정의합니다. 원하는 경우 선형 링을 다각형의 내부 경계로 사용하여 다각형에 구멍을 만들 수도 있습니다. 다각형에는 안쪽 경계로 사용되는 여러 <LinearRing> 요소가 포함될 수 있습니다.

참고: Google 어스에서 지면에 고정의 <ElevationMode>가 포함된 다각형은 일정한 방향의 선을 따르지만 지면에 고정의 <heightMode>가 포함된 선형 링은 단독으로 존재하는 경우 큰 선을 따릅니다.

선형 링에만 한정되는 요소

<gx:altitudeOffset>
고도 값 렌더링 방식을 수정하는 Google 확장 네임스페이스의 KML 확장입니다. 이 오프셋을 사용하면 선형 링을 구성하는 모든 개별 좌표 값을 수정하지 않고도 선형 링 전체를 하나의 단위로 위나 아래로 이동할 수 있습니다. LinearRing이 고도 오프셋 값을 사용하여 표시되지만 원래 고도 값은 KML 파일에서 유지됩니다. 단위는 미터입니다.
<extrude>
부울 값. 선형 링을 지면에 연결할지 여부를 지정합니다. 이 도형이 돌출되도록 하려면 고도 모드가 지면 기준, 해저 기준 또는 절대값이어야 합니다. 선형 링의 꼭짓점만 돌출되며 도형의 중심은 제외됩니다. 꼭짓점은 지구의 중심 방향으로 돌출됩니다.
<tessellate>
부울 값. 선형 링이 지형을 따르도록 허용할지 여부를 지정합니다. 공간 분할을 사용 설정하려면 <heightMode> 값이 지면에 고정 또는 해저에 고정이어야 합니다. 선형 링이 매우 큰 경우 지구의 만곡을 따르도록 공간 분할을 사용 설정해야 합니다. 그렇지 않으면 지면 아래로 이동해 숨겨질 수도 있습니다.
<altitudeMode>
<좌표> 요소의 고도 구성요소가 해석되는 방식을 지정합니다. 가능한 값은 다음과 같습니다.
  • 지면에 고정 - (기본값) 고도 사양을 무시하도록 표시합니다 (예: <좌표> 태그에서).
  • 지면 기준 - 특정 위치의 실제 지면 고도를 기준으로 요소의 고도를 설정합니다. 예를 들어 위치의 지면 고도가 정확하게 해수면 높이이고 지점의 고도가 9미터로 설정된 경우 지점 아이콘 고도의 아이콘에 대한 고도는 이 모드에서 9미터입니다. 그러나 동일한 좌표가 지면 고도가 해수면보다 10미터 위에 있는 위치로 설정된 경우 좌표의 고도는 19미터입니다. 이 모드는 일반적으로 전신주 또는 스키 리프트를 배치하기 위해 사용됩니다.
  • 절대값 - 요소 아래의 지형의 실제 고도와 관계없이 해수면을 기준으로 좌표의 고도를 설정합니다. 예를 들어 절대 고도 모드로 좌표의 고도를 10미터로 설정한 경우 지형 역시 해수면보다 10미터 위에 있으면 지점 아이콘의 아이콘이 지면 높이에 표시됩니다. 지형이 해수면보다 3미터 위에 있으면 아이콘이 지형 위로 7미터 올라가 표시됩니다. 이 모드는 일반적으로 항공기 배치에 사용됩니다.
<x:고도 모드>
해저 기준의 고도를 허용하는 Google 확장 네임스페이스의 KML 확장입니다. 값은 다음과 같습니다.
  • 해저 기준 - <Elevation>을 해저 위의 미터 단위 값으로 해석합니다. 지점이 해수면이 아닌 지면 위에 있으면 <altitude>는 지면 위에 있는 것으로 해석됩니다.
  • 해저에 고정 - <height> 사양이 무시되며 지점이 해저에 배치됩니다. 지점이 해수면이 아닌 지면 위에 있으면 지점이 지면에 배치됩니다.
<coordinates>(필수)
경도, 위도, 고도의 부동 소수점 값으로 구성된 4개 이상의 튜플입니다. 고도 구성요소는 선택사항입니다. 튜플 내에 공백을 포함해서는 안 됩니다. 마지막 좌표는 첫 번째 좌표와 같아야 합니다. 좌표는 십진수로만 표현됩니다.

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

다음을 확장

다음에 의해 포함

<LineString>

문법

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

설명

선분의 연결된 집합을 정의합니다. <LineStyle>을 사용하여 색상, 색상 모드 및 선의 너비를 지정합니다. 유도선이 돌출되면 선이 벽이나 울타리와 비슷하게 보이는 다각형을 형성하며 지면으로 확장됩니다. 돌출된 LineStrings에서는 선 자체가 현재 LineStyle을 사용하고 돌출은 현재 PolyStyle을 사용합니다. 유도선 (또는 경로)의 예는 KML 튜토리얼을 참고하세요.

유도선에만 한정되는 요소

<gx:heightOffset>
고도 값 렌더링 방식을 수정하는 Google 확장 네임스페이스의 KML 확장입니다. 이 오프셋을 사용하면 유도선을 구성하는 모든 개별 좌표 값을 수정하지 않고도 전체 유도선을 한 단위로 위아래로 이동할 수 있습니다. 유도선은 고도 오프셋 값을 사용하여 표시되지만 원래 고도 값은 KML 파일에서 유지됩니다. 단위는 미터입니다.
<extrude>
부울 값. 유도선을 지면에 연결할지 여부를 지정합니다. 유도선이 돌출되도록 하려면 고도 모드가 지면 기준, 해저 기준 또는 절대값이어야 합니다. 유도선의 꼭짓점은 지구 중심 방향으로 돌출됩니다.
<tessellate>
부울 값. 유도선이 지형을 따르도록 허용할지 지정합니다. 공간 분할을 사용하려면 고도 모드가 지면에 고정 또는 해저에 고정이어야 합니다. 유도선이 매우 큰 경우 지구의 만곡을 따르도록 공간 분할을 사용 설정해야 합니다. 그렇지 않으면 지면 아래로 이동해 숨겨질 수도 있습니다.
<altitudeMode>
<좌표> 요소의 고도 구성요소가 해석되는 방식을 지정합니다. 가능한 값은 다음과 같습니다.
  • 지면에 고정 - (기본값) 고도 사양을 무시하도록 표시합니다. 예를 들어 <coordinates> 태그에서 무시합니다.
  • 지면 기준 - 특정 위치의 실제 지면 고도를 기준으로 요소의 고도를 설정합니다. 예를 들어 위치의 지면 고도가 정확하게 해수면 높이이고 지점의 고도가 9미터로 설정된 경우 지점 아이콘 고도의 아이콘에 대한 고도는 이 모드에서 9미터입니다. 그러나 동일한 좌표가 지면 고도가 해수면보다 10미터 위에 있는 위치로 설정된 경우 좌표의 고도는 19미터입니다. 이 모드는 일반적으로 전신주 또는 스키 리프트를 배치하기 위해 사용됩니다.
  • 절대값 - 요소 아래의 지형의 실제 고도와 관계없이 해수면을 기준으로 좌표의 고도를 설정합니다. 예를 들어 절대 고도 모드로 좌표의 고도를 10미터로 설정한 경우 지형 역시 해수면보다 10미터 위에 있으면 지점 아이콘의 아이콘이 지면 높이에 표시됩니다. 지형이 해수면보다 3미터 위에 있으면 아이콘이 지형 위로 7미터 올라가 표시됩니다. 이 모드는 일반적으로 항공기 배치에 사용됩니다.
<x:고도 모드>
Google 확장 네임스페이스의 KML 확장 프로그램으로, 해저 기준의 고도를 허용합니다. 값은 다음과 같습니다.
  • 해저 기준 - <Elevation>을 해저 위의 미터 단위 값으로 해석합니다. 지점이 해수면이 아닌 지면 위에 있으면 <altitude>는 지면 위에 있는 것으로 해석됩니다.
  • 해저에 고정 - <height> 사양이 무시되며 지점이 해저에 배치됩니다. 지점이 해수면이 아닌 지면 위에 있으면 지점이 지면에 배치됩니다.
<gx:drawOrder>
여러 개의 선 문자열을 그리는 순서를 지정하는 정수 값입니다. 처음에 그린 유도선은 이후 그리기 순서와 함께 유도선에 의해 부분적으로 또는 완전히 가려질 수 있습니다. 이중 색상 선이 서로 교차할 때 이 요소는 <LineStyle>의 <gx:outerColor><gx:outerWidth> 요소와 함께 필요할 수 있습니다.
<coordinates>(필수)
두 개 이상의 좌표 튜플로, 각 좌표는 경도, 위도, 고도의 부동 소수점 값으로 구성됩니다. 고도 구성요소는 선택사항입니다. 튜플 사이에 공백을 삽입합니다. 튜플 내에 공백을 포함해서는 안 됩니다.

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

다음을 확장

다음에 의해 포함

<LineStyle>

문법

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

설명

모든 선 도형의 그리기 스타일 (색상, 색상 모드, 선 너비)을 지정합니다. 선 도형에는 윤곽선이 있는 다각형의 윤곽선 및 아이콘의 돌출된 '테더'(돌출을 사용 설정된 경우)가 포함됩니다.

선 스타일에만 한정되는 요소

<width>
선의 너비(픽셀)입니다.
<gx:outerColor>
<gx:outerWidth>에서 정의한 선 부분의 색상입니다. <LineStyle>이 <Polygon> 및 <LinearRing>에 적용되면 <gx:outerColor> 및 <gx:outerWidth> 요소가 무시됩니다.
<gx:outerWidth>
<gx:outerColor>를 사용하는 선의 비율을 지정하는 0.0~1.0 사이의 값입니다. 너비가 <gx:physicalWidth>인 선에만 적용됩니다. <width>를 사용하는 선에는 적용되지 않습니다. <LineString><gx:drawOrder>도 참고하세요. 예를 들어 고속도로 교차로를 표시하기 위해 이중 색상 선이 서로 교차하는 경우 그리기 순서 값이 필요할 수도 있습니다.
<gx:physicalWidth>
선의 실제 너비(미터 단위)입니다.
<gx:labelVisibility>
LineString에 텍스트 라벨을 표시할지 여부를 정의하는 부울입니다. LineString의 라벨은 <LineString>의 동위 요소인 <name> 요소에 포함됩니다(즉, 동일한 <Placemark> 요소 내에 포함됨).

Google 어스 버전 6.1 이상에서는 기본적으로 라벨을 표시하지 않습니다. <gx:labelVisibility>1로 설정하여 각 유도선에 라벨을 사용 설정해야 합니다.

Google 어스 6.1의 알려진 문제: <gx:physicalWidth> 요소가 없는 유도선은 선 길이가 라벨의 문자 수와 100미터를 곱한 것보다 긴 경우에만 라벨을 표시합니다. 예를 들어 7자('example')가 있는 라벨은 줄이 700m보다 큰 경우에만 표시됩니다. 이는 <gx:physicalWidth> 값이 있는 유도선에는 영향을 미치지 않습니다.

다음 예에서는 너비가 4픽셀인 50% 불투명도의 빨간색 선을 보여 줍니다.

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

다음을 확장

다음에 의해 포함

문법

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

설명

<Link>는 다음 중 한 위치를 지정합니다.

  • 네트워크 링크로 가져오는 KML 파일
  • 모든 오버레이에서 사용되는 이미지 파일(<Icon> 요소는 오버레이의 이미지를 지정하며 <Icon>에는 <Link>와 동일한 입력란이 있음)
  • <Model> 요소에서 사용되는 모델 파일

파일은 여기에 제공된 새로고침 매개변수에 따라 조건부로 로드되고 새로고침됩니다. 새로고침 매개변수의 두 가지 집합을 지정할 수 있습니다. 하나는 시간(<새로고침모드> 및 <새로고침 간격>)을 기반으로 하고 다른 하나는 현재 '카메라' 보기(<viewRefreshMode> 및 <viewRefreshTime>)를 기반으로 합니다. 또한 링크는 서버로 전송되는 경계 상자 매개변수(<viewBoundScale>)의 크기를 조정할지 여부를 지정하며, 서버에 전송할 수 있는 선택적 보기 매개변수 (버전 및 정보 포함)를 제공할 수 있습니다.

파일을 가져올 때 서버로 전송되는 URL은 세 조각의 정보로 구성됩니다.

  • 로드할 파일을 지정하는 href(하이퍼텍스트 참조)
  • (a) <viewFormat> 요소에서 지정한 매개변수 또는 (b) 경계 상자 매개변수(기본값이며 파일에 <viewFormat> 요소가 포함되지 않은 경우에 사용)에서 만든 임의 형식 문자열
  • <httpQuery> 요소에 지정된 두 번째 형식 문자열

<href>에 지정된 파일이 로컬 파일인 경우 <viewFormat> 및 <httpQuery> 요소가 사용되지 않습니다.

<Link> 요소는 이전 KML 출시에 포함된 <NetworkLink>의 <Url> 요소를 대체하고 KML 2.1에서 도입된 <Region> 요소의 기능을 추가합니다. Google 어스 출시 3.0 이하에서는 <Link> 요소가 무시됩니다.

<href>
URL (HTTP 주소 또는 로컬 파일 사양)입니다. <Link>의 상위 항목이 네트워크 링크인 경우 <href>는 KML 파일입니다. <Link>의 상위 항목이 모델인 경우 <href>는 COLLADA 파일입니다. <Icon>의 상위 요소(<Link>와 동일한 필드)가 오버레이인 경우 <href>는 이미지입니다. 이 태그에 상대 URL을 사용할 수 있으며 이 URL은 주변을 둘러싼 KML 파일을 기준으로 평가됩니다. KML 및 KMZ 파일에서 상대 참조를 만드는 방법에 대한 자세한 내용은 KMZ 파일을 참조하세요.
<refreshMode>
시간 기반 새로고침 모드를 지정하며 이는 다음 중 하나일 수 있습니다.
  • 변경시 - 파일이 로드될 때와 링크 매개변수가 변경될 때마다 새로고침합니다(기본값).
  • 간격에 따라 - n초(<refreshInterval>에서 지정)마다 새로고침합니다.
  • onExpire - 만료 시간에 도달하면 파일을 새로고침합니다. 가져온 파일에 네트워크 링크 제어가 있는 경우 <expires> 시간이 HTTP 헤더에 지정된 만료 시간보다 우선합니다. <expires> 시간이 지정되지 않은 경우 HTTP max-age 헤더가 사용됩니다 (있는 경우). max-age가 없으면 만료 HTTP 헤더가 있으면 이 헤더가 사용됩니다. HTTP 헤더 입력란에 대한 자세한 내용은 Hypertext Transfer Protocol - HTTP 1.1RFC261b 섹션을 참조하세요.
<refreshInterval>
n초마다 파일을 새로고침하도록 나타냅니다.
<viewRefreshMode>
'카메라'가 변경될 때 링크를 새로고침하는 방식을 지정합니다.
다음 중 하나일 수 있습니다.
  • never(기본값) - 보기의 변경사항을 무시합니다. <viewFormat> 매개변수가 있으면 이 매개변수도 무시합니다.
  • 이동 중지시 - 이동 중지 n초 후 파일을 새로고침합니다. n은 <viewRefreshTime>에서 지정됩니다.
  • onRequest - 사용자가 명시적으로 요청한 경우에만 파일을 새로고침합니다. 예를 들어 Google 어스에서 사용자가 오른쪽 클릭하여 컨텍스트 메뉴에서 새로고침을 선택합니다.
  • 지역활성시 - 지역이 활성화되면 파일을 새로고침합니다. <Region>을 참조하세요.
<viewRefreshTime>
카메라 이동이 중지된 후 뷰를 새로고침할 때까지 대기하는 시간(초)을 지정합니다. 위의 <viewRefreshMode> 및 이동 중지시를 참고하세요.
<viewBoundScale>
BBOX 매개변수를 서버로 전송하기 전에 확장합니다. 1보다 작은 값은 전체 화면 (화면)보다 적게 사용하도록 지정합니다. 1보다 큰 값은 현재 보기의 가장자리 이상으로 확장되는 영역을 가져오도록 지정합니다.
<viewFormat>
파일을 가져오기 전에 링크의 <href>에 추가되는 쿼리 문자열의 형식을 지정합니다. <href>에서 로컬 파일을 지정하는 경우 이 요소는 무시됩니다.
<onRefresh의 <viewRefreshMode>를 지정하고 파일에 <viewFormat> 태그를 포함하지 않으면 다음 정보가 쿼리 문자열에 자동으로 추가됩니다.

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

이 정보는 WMS (Web Map Service) 경계 상자 사양과 일치합니다.
빈 <viewFormat> 태그를 지정하면 쿼리 문자열에 정보가 추가되지 않습니다.
쿼리 문자열에 추가할 맞춤 보기 매개변수 집합을 지정할 수도 있습니다. 형식 문자열을 제공하면 이 문자열이 BBOX 정보 대신 사용됩니다. BBOX 정보도 사용하려면 맞춤 매개변수와 함께 이 매개변수를 추가해야 합니다.
형식 문자열에 다음 매개변수를 사용할 수 있습니다. Google 어스에서는 쿼리 문자열을 만들 때 적절한 현재 값을 대체합니다.
  • [lookatLon], [lookatLat] - <LookAt>에서 보고 있는 지점의 경도 및 위도
  • [lookatRange], [lookatTilt], [lookatHeading] - <LookAt> 요소에서 사용하는 값입니다 (<LookAt><range>, <tilt>, <heading> 설명 참조).
  • [lookatTerrainLon], [lookatTerrainLat], [lookatTerrainAlt] - <LookAt>에서 보고 있는 지형의 도/미터 단위 지점
  • [cameraLon], [cameraLat], [cameraAlt] - 카메라 시점의 도/미터
  • [horizFov], [vertFov] - 카메라의 수평, 수직 시야
  • [horizPixels], [vertPixels] - 3D 뷰어의 픽셀 단위 크기
  • [terrainEnabled] - 3D 뷰어에서 지형을 표시할지 여부를 지정
<httpQuery>
지정된 매개변수에 따라 쿼리 문자열에 정보를 추가합니다. Google 어스에서는 검색어 문자열을 생성할 때 적절한 현재 값을 대체합니다. 다음과 같은 매개변수가 지원됩니다.
  • [클라이언트 버전]
  • [KML 버전]
  • [고객 이름]
  • [언어]

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

다음을 확장

다음에 의해 포함

다음을 참조하세요.

<ListStyle>

문법

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

설명

목록 보기에 지형지물이 표시되는 방식을 지정합니다. 목록 보기는 컨테이너와 하위 항목의 계층구조입니다. Google 어스의 경우에는 지역 정보 패널입니다.

목록 스타일에만 한정되는 요소

<listItemType>
목록 보기에 지형지물이 표시되는 방식을 지정합니다. 가능한 값은 다음과 같습니다.
  • 체크(기본값) - 지형지물의 표시 여부는 지형지물 항목의 확인란과 관련되어 있습니다.
  • 라디오 폴더 - 컨테이너에 지정되면 컨테이너 항목이 한 번에 하나만 표시됩니다.
  • checkOffOnly - 컨테이너 또는 네트워크 링크에 지정되면 모든 항목이 한 번에 표시되는 것을 방지합니다. 즉, 사용자가 컨테이너 또는 네트워크 링크의 모든 항목을 끌 수 있지만 모든 항목을 동시에 켤 수는 없습니다. 이 설정은 많은 양의 데이터가 포함된 컨테이너 또는 네트워크 링크에 유용합니다.
  • checkHideChildren - 공개 상태에는 일반 체크박스를 사용하지만 목록 보기에 컨테이너 또는 네트워크 링크의 하위 요소를 표시하지 않습니다. 확인란을 사용하면 사용자가 보기에서 하위 개체의 표시 여부를 전환할 수 있습니다.
<bgColor>
스니펫의 배경 색상입니다. 색상 및 불투명도 값은 16진수 표기법으로 표현됩니다. 색상 값의 범위는 0~255입니다 (00~ff). 알파의 경우 00는 완전히 투명하고 ff는 완전히 불투명합니다. 표현식의 순서는 aabbggrr이며, 여기서 aa=alpha(00~ff), bb=blue(00~ff), gg=green(00~ff), rr=red(00~ff)입니다. 예를 들어 불투명도가 50%인 파란색을 오버레이에 적용하려면 <color>7fff0000</color>를 지정합니다. 여기서 alpha=0x7f, blue=0xff, green=0x00, red=0x00.
<ItemIcon>ㅁㅈㅇㅁㅈ
폴더 또는 링크 가져오기 상태를 반영하는 목록 보기에 사용되는 아이콘입니다. 열림닫힘 모드 관련 아이콘은 폴더 및 네트워크 링크에 사용됩니다. 오류가져오기0, 가져오기1, 가져오기2 모드 관련 아이콘은 네트워크 링크에 사용됩니다. 다음 화면 캡처는 이러한 상태의 Google 어스 아이콘을 보여줍니다.
<상태>
NetworkLink 또는 Folder의 현재 상태를 지정합니다. 가능한 값은 open, closed, error, fetching0, fetching1, fetching2입니다. 이 값은 두 값 사이에 쉼표 없이 공백을 삽입하여 결합할 수 있습니다.
<href>
지형지물의 목록 보기에 사용되는 이미지의 URI를 지정합니다.

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

다음을 확장

다음에 의해 포함

<LookAt>

문법

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

설명

지형지물에서 파생된 모든 요소와 연결된 가상 카메라를 정의합니다. LookAt 요소는 현재 보고 있는 물체를 기준으로 '카메라'를 배치합니다. Google 어스에서 사용자가 지역 정보 패널의 항목을 두 번 클릭하거나 3D 뷰어의 아이콘을 두 번 클릭하면 보기가 이 바라보기 화면 시점으로 '빠르게 이동'합니다.

바라보기에만 한정되는 요소

<longitude>
카메라가 바라보는 지점의 경도입니다. 본초자오선을 기준으로 한 도 단위 각거리입니다. 자오선 서쪽의 값 범위는 -180~0도입니다. 자오선 동쪽의 값 범위는 0~180도입니다.
<latitude>
카메라가 바라보는 지점의 위도입니다. 적도 (0도)의 북쪽 또는 남쪽의 각도입니다. 값 범위는 -90~90도입니다.
<altitude>
지표면에서의 거리(미터 단위)입니다. 바라보기의 고도 모드에 따라 해석됩니다.
<heading>
방향 (즉, 북쪽, 남쪽, 동쪽, 서쪽)을 도 단위로 설정합니다. 기본값은 0 (북쪽)입니다. 아래 다이어그램을 참고하세요. 값 범위는 0~360도입니다.
<tilt>
LookAt 위치의 방향과 지표면의 법선 사이의 각도입니다. 아래 다이어그램을 참고하세요. 값 범위는 0~90도입니다. <tilt>의 값은 음수일 수 없습니다. 0도인 <tilt> 값은 바로 위에서 본 보기를 나타냅니다. <tilt> 값이 90도이면 지평선을 따라 보고 있음을 나타냅니다.
<range>(필수)
<경도>, <위도>, <고도>로 지정된 지점에서 바라보기 위치까지의 미터 단위 거리입니다. 아래 다이어그램을 참고하세요.
<altitudeMode>
LookAt 지점에 지정된 <Elevation>이 해석되는 방식을 지정합니다. 가능한 값은 다음과 같습니다.
  • 지면에 고정 - (기본값) <altitude> 사양을 무시하고 바라보기 위치를 지면에 배치하도록 표시합니다.
  • 지면 기준 - <altitude>를 지면 위의 미터 단위 값으로 해석합니다.
  • 절대값 - <altitude>를 해수면 위의 미터 단위 값으로 해석합니다.
<gx:altitudeMode>
해저 기준의 고도를 허용하는 Google 확장 네임스페이스의 KML 확장입니다. 값은 다음과 같습니다.
  • 해저 기준 - <Elevation>을 해저 위의 미터 단위 값으로 해석합니다. 지점이 해수면이 아닌 지면 위에 있으면 <altitude>는 지면 위에 있는 것으로 해석됩니다.
  • 해저에 고정 - <height> 사양이 무시되며 바라보기가 해저에 배치됩니다. 지점이 해수면이 아닌 지면 위에 있으면 바라보기가 지면에 배치됩니다.

다음 다이어그램은 <range>, <tilt> 및 <height> 요소를 보여줍니다.

 

다음 다이어그램은 <heading> 요소를 보여줍니다.

 

동쪽=90, 남쪽=180, 서쪽=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>

확장

다음에 의해 포함

<Model>

문법

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

설명

COLLADA 파일에 설명된 3D 개체입니다 (<Link> 태그에 참조됨). COLLADA 파일의 확장자는 .dae입니다. 모델은 자체 좌표 공간에서 생성되어 Google 어스에 위치, 배치, 조정됩니다. 자세한 내용은 모델에 대한 'KML 주제' 페이지를 참조하세요.

Google 어스에서는 COLLADA 일반 프로필을 지원하지만 다음과 같은 예외가 있습니다.

  • Google 어스는 프리미티브 유형으로 삼각형과 선만 지원합니다. 허용되는 삼각형의 최대 개수는 21,845개입니다.
  • Google 어스는 애니메이션이나 스킨 지정을 지원하지 않습니다.
  • Google 어스는 외부 도형 참조를 지원하지 않습니다.

모델에만 한정되는 요소

<altitudeMode>
<Location>에 지정된 <elevation>의 해석 방식을 지정합니다. 가능한 값은 다음과 같습니다.
  • 지면에 고정 - (기본값) <altitude> 사양을 무시하고 모델을 지면에 배치하도록 표시합니다.
  • 지면 기준 - <altitude>를 지면 위의 미터 단위 값으로 해석합니다.
  • 절대값 - <altitude>를 해수면 위의 미터 단위 값으로 해석합니다.
<x:고도 모드>
해저 기준의 고도를 허용하는 Google 확장 네임스페이스의 KML 확장입니다. 값은 다음과 같습니다.
  • 해저 기준 - <Elevation>을 해저 위의 미터 단위 값으로 해석합니다. 지점이 해수면이 아닌 지면 위에 있으면 <altitude>는 지면 위에 있는 것으로 해석됩니다.
  • 해저에 고정 - <height> 사양이 무시되고 모델이 해저에 배치됩니다. 지점이 해수면이 아닌 지면 위에 있으면 모델이 지면에 배치됩니다.
<위치>
모델 출발지의 정확한 좌표를 위도, 경도, 고도로 지정합니다. 위도경도 측정은 WGS84 데이터를 사용한 표준 위도-경도 프로젝션입니다. 고도는 지표면 위의 거리(미터 단위)로, <heightMode> 또는 <gx:ElevationMode>에 따라 해석됩니다.
<Location>
  <longitude>39.55375305703105</longitude>
  <latitude>-118.9813220168456</latitude>
  <altitude>1223</altitude>
</Location> 
<Orientation>
Google 어스에 객체를 배치하기 위한 3D 모델의 좌표계 회전을 설명합니다. 아래 다이어그램을 참고하세요.
<Orientation>
  <heading>45.0</heading>
  <tilt>10.0</tilt>
  <roll>0.0</roll>
</Orientation> 

회전은 다음 순서로 모델에 적용됩니다.

  1. <roll>
  2. <tilt>
  3. <heading>
<heading>
z 축을 중심으로 회전합니다 (지표면에 일반). 0 (기본값)은 북쪽과 같습니다. 양의 회전은 z 축을 중심으로 시계 방향으로 진행되며 0~360도로 도 단위로 지정됩니다.
<tilt>
x 축을 기준으로 회전합니다. 양의 회전은 x 축을 중심으로 시계 방향으로 진행되며 0~180도 단위로 지정됩니다.
<roll>
y 축을 기준으로 회전 양의 회전은 y축을 중심으로 시계 방향으로 진행되며 0~180도 단위로 지정됩니다.
방향, 기울기 및 회전은 원점 방향으로 축을 내려다볼 때 시계 방향으로 지정됩니다.
이 다이어그램은 모델 축의 일반적인 방향을 보여줍니다.
일반적인 모델의 경우 +x는 오른쪽, +y는 전면 및 북쪽 방향, +z는 위쪽입니다.
<축척>
모델의 좌표 공간에서 x, y, z 축을 따라 모델의 크기를 조정합니다.
<Scale>
<x>2.5</x>
<y>2.5</y>
<z>3.5</z>
</Scale>
로드할 파일 및 선택적 새로고침 매개변수를 지정합니다. <Link>를 참고하세요.
<ResourceMap>
0개 이상의 <Alias> 요소를 지정합니다. 각 요소는 원래 Collada 파일에서 모델이 포함된 KML 또는 KMZ 파일로의 텍스처 파일 경로에 매핑됩니다. 이 요소를 사용하면 텍스처를 참조하는 원본 Collada 파일을 업데이트하지 않고도 텍스처 파일을 이동하고 이름을 바꿀 수 있습니다. <ResourceMap> 요소 하나에 다른 (소스) Collada 파일의 여러 매핑이 동일한 (대상) KMZ 파일에 포함될 수 있습니다.
<Alias>
<targetHref>../images/foo.jpg</targetHref> <sourceHref>c:\mytextures\foo.jpg</sourceHref> </Alias>
<Alias>에는 <sourceHref>에서 <targetHref>로의 매핑이 포함되어 있습니다.
<targetHref>
Google 어스에서 가져올 텍스처 파일을 지정합니다. 이 참조는 .kmz 아카이브 내의 이미지 파일에 대한 상대 참조일 수도 있고 파일의 절대 참조일 수도 있습니다 (예: URL).
<sourceHref>
Collada .dae 파일의 텍스처 파일에 지정된 경로입니다.
Google 어스에서 이 매핑이 제공되지 않으면 다음 규칙을 사용하여 Collada(.dae) 파일에서 참조된 텍스처를 찾습니다.
  • 경로 없음: 텍스처 이름에 경로가 포함되어 있지 않은 경우 Google 어스는 경로를 참조하는 .dae 파일과 동일한 디렉터리에서 텍스처를 찾습니다.
  • 상대 경로: 텍스처 이름에 상대 경로 (예: ../images/mytexture.jpg)가 포함되어 있으면 Google 어스에서는 이 경로를 참조하는 .dae 파일을 기준으로 경로를 해석합니다.
  • 절대 경로: 텍스처 이름이 절대 경로(c:\mytexture.jpg) 또는 네트워크 경로 (예: http://myserver.com/mytexture.jpg)인 경우 Google 어스는 .dae 파일의 위치에 관계없이 지정된 위치에서 파일을 찾습니다.

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

다음을 확장

다음에 의해 포함

<MultiGeometry>

문법

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

설명

동일한 지형지물과 연결된 0개 이상의 도형 프리미티브를 위한 컨테이너입니다.

참고: <GeometryCollection> 태그는 지원 중단되었습니다. 대신 <MultiGeometry>를 사용하세요.

다중 도형에만 한정되는 요소

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

다음을 확장

다음에 의해 포함

<gx:MultiTrack>

이 요소는 OGC KML 2.2 표준의 확장이며 Google 어스 5.2 이상에서 지원됩니다. 자세히 알아보기

문법

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

설명

멀티 트랙 요소는 여러 트랙 요소를 단일 개념 단위로 결합하는 데 사용됩니다. 예를 들어 휴식을 위한 여러 번의 정류장과 점심을 위한 한 번의 정류장이 포함된 자전거 공유의 하루 단위 GPS 데이터를 수집한다고 가정해 보겠습니다. 시간이 정해져 있기 때문에 시간과 위치가 표시될 때 한 번의 자전거 이동이 4개의 다른 트랙으로 표시될 수 있습니다. 이러한 <gx:Track> 요소를 하나의 <gx:MultiTrack> 컨테이너로 그룹화하면 Google 어스에 단일 경로의 섹션으로 표시됩니다. 아이콘이 한 세그먼트의 끝에 도달하면 다음 세그먼트의 시작 부분으로 이동합니다. <gx:interpolate> 요소는 한 트랙의 끝에서 정지하고 즉시 다음 트랙의 시작 부분으로 이동할지, 아니면 두 트랙 사이에 누락된 값을 삽입할지 여부를 지정합니다.

gx:MultiTrack에만 한정되는 요소

<altitudeMode>
<좌표> 요소의 고도 구성요소가 해석되는 방식을 지정합니다. 가능한 값은 다음과 같습니다.
  • 지면에 고정 - (기본값) 고도 사양을 무시하도록 표시합니다. 예를 들어 <gx:coord> 요소에서 무시합니다.
  • 지면 기준 - 특정 위치의 실제 지면 고도를 기준으로 요소의 고도를 설정합니다. 예를 들어 위치의 지면 고도가 정확하게 해수면 높이이고 지점의 고도가 9미터로 설정된 경우 지점 아이콘 고도의 아이콘에 대한 고도는 이 모드에서 9미터입니다. 그러나 동일한 좌표가 지면 고도가 해수면보다 10미터 위에 있는 위치로 설정된 경우 좌표의 고도는 19미터입니다.
  • 절대값 - 요소 아래의 지형의 실제 고도와 관계없이 해수면을 기준으로 좌표의 고도를 설정합니다. 예를 들어 절대 고도 모드로 좌표의 고도를 10미터로 설정한 경우 지형 역시 해수면보다 10미터 위에 있으면 지점 아이콘의 아이콘이 지면 높이에 표시됩니다. 지형이 해수면보다 3미터 위에 있으면 아이콘이 지형 위로 7미터 올라가 표시됩니다.
<x:고도 모드>
Google 확장 네임스페이스에 포함된 KML 확장 프로그램으로 해저 기준의 고도를 허용합니다. 값은 다음과 같습니다.
  • 해저 기준 - 고도를 해저 위의 미터 단위 값으로 해석합니다. 지점이 해수면이 아닌 지면 위에 있으면 고도는 지면 위에 있는 것으로 해석됩니다.
  • 해저에 고정 - 고도 사양이 무시되며 지점이 해저에 배치됩니다. 지점이 해수면이 아닌 지면 위에 있으면 지점이 지면에 배치됩니다.
<gl:interpolate>
부울 값. 멀티 트랙에 여러 <gx:Track> 요소가 포함된 경우 첫 번째 트랙의 끝과 다음 트랙의 시작 사이에 누락된 값을 삽입할지 여부를 지정합니다. 기본값 (0)을 사용하면 아이콘이나 모델이 한 트랙의 끝에서 멈추고 다음 트랙의 시작 부분으로 이동합니다.

포함

문법

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

설명

로컬 또는 원격 네트워크의 KML 파일 또는 KMZ 아카이브를 참조합니다. <Link> 요소를 사용하여 KML 파일의 위치를 지정합니다. 이 요소 내에서 시간 및 카메라 변경사항에 따라 파일 업데이트를 위한 새로고침 옵션을 정의할 수 있습니다. 네트워크 링크는 매우 큰 데이터세트를 효과적으로 처리하기 위해 지역과 조합하여 사용할 수 있습니다.

<refreshVisibility>
부울 값. 값이 0이면 Google 어스 사용자가 제어할 수 있는 지형지물의 공개 상태가 유지됩니다. 값을 1로 설정하여 네트워크 링크가 새로고침될 때마다 기능의 공개 상태를 재설정합니다. 예를 들어, 연결된 KML 파일 내 위치표시의 <Visibility>가 1로 설정되고 네트워크 링크의 <RefreshVisibility>가 1로 설정되었다고 가정해 보겠습니다. 파일이 Google 어스에 처음 로드되면 사용자는 항목 옆에 있는 체크박스를 선택 해제하여 3D 뷰어에 표시를 해제할 수 있습니다. 하지만 네트워크 링크를 새로고침하면 원래 표시 상태가 TRUE이므로 위치표시가 다시 표시됩니다.
<flyToView>
부울 값. 값이 1인 경우 Google 어스가 NetworkLinkControl (있는 경우)의 LookAt 또는 카메라의 뷰로 이동합니다. NetworkLinkControl에 AbstractView 요소가 포함되어 있지 않은 경우 Google 어스가 새로고침된 파일의 <KML> 요소 내 지형지물 하위 요소의 LookAt 또는 카메라 요소로 이동합니다. <KML> 요소에 지정된 바라보기 또는 카메라가 없는 경우 보기는 변경되지 않습니다. 예를 들어 Google 어스는 문서 내에 포함된 위치표시의 <LookAt>이 아닌 상위 문서의 <LookAt> 뷰로 이동합니다.

도움말: 네트워크 링크 내의 최상위 폴더 또는 문서를 목록 보기에 표시하려면 폴더 또는 문서에 ID를 할당하세요. 이 ID가 없으면 목록 보기에 하위 객체 이름만 표시됩니다.

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

다음을 확장

다음에 의해 포함

<NetworkLinkControl>

문법

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

설명

<NetworkLink>로 가져온 파일의 동작을 제어합니다.

네트워크 링크 제어에만 한정되는 요소

<minRefreshPeriod>
초 단위로 지정되며 <minRefreshPeriod>는 파일 가져오기 사이에 허용되는 최소 시간입니다. 이 매개변수를 사용하면 서버에서 특정 파일의 가져오기를 제한하고 새로고침 빈도를 데이터의 예상 변경 빈도에 맞게 조정할 수 있습니다. 예를 들어 어떤 사용자는 링크 새로고침을 5초로 설정할 수 있지만, 귀하는 최소 새로고침 기간을 3600으로 설정하여 새로고침 업데이트를 1시간마다 한 번으로 제한할 수 있습니다.
<maxSessionLength>
초 단위로 지정되며, <maxSessionLength>는 클라이언트 네트워크 링크가 연결된 상태로 유지될 수 있는 최대 시간입니다. 기본값 -1은 세션을 명시적으로 종료하지 않음을 나타냅니다.
네트워크 링크의 다음 새로고침 시 URL 쿼리에 문자열을 추가하려면 이 요소를 사용합니다. 서버측에서 버전 쿼리 및 조건부 파일 전달 등 좀 더 지능적인 처리를 제공하도록 스크립트에서 이 데이터를 사용할 수 있습니다.
<message>
네트워크 링크의 사용 가이드라인과 같은 팝업 메시지를 전달할 수 있습니다. 이 메시지는 네트워크 링크가 Google 어스에 처음 로드되거나 네트워크 링크 제어에서 변경되면 표시됩니다.
<linkName>
클라이언트 측의 이름 변경사항이 서버에 의해 재정의되도록 서버에서 네트워크 링크 이름을 제어할 수 있습니다.
<linkDescription>
클라이언트 측의 설명 변경사항이 서버에 의해 재정의되도록 서버에서 네트워크 링크 설명을 제어할 수 있습니다.
<linkSnippet maxLines="2" >
클라이언트 측의 스니펫 변경사항이 서버에 의해 재정의되도록 서버에서 네트워크 링크의 스니펫을 제어할 수 있습니다. <linksnippet>에는 표시할 최대 줄 수를 지정하는 정수인 maxLines 속성이 있습니다.
<expires>
링크를 새로고침해야 하는 날짜/시간을 지정할 수 있습니다. 이 사양은 <Link>의 <새로고침 모드> 값이 onExpire인 경우에만 적용됩니다. <RefreshMode>를 참고하세요.
<Update>
<Update>를 사용하여 이전에 네트워크 링크로 로드된 .KML 파일 또는 .kmz 보관 파일에 대해 변경, 생성 및 삭제 태그를 원하는 수만큼 지정할 수 있습니다. <Update>를 참고하세요.
<AbstractView>

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

다음을 확장

  • <kml> 요소의 바로 아래에 있는 하위 항목입니다.

다음에 의해 포함

  • <kml>

다음을 참조하세요.

<Object>

문법

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

설명

추상 기본 클래스이며 KML 파일에서 직접 사용할 수 없습니다. KML 요소를 고유하게 식별할 수 있는 id 속성과 이미 Google 어스에 로드된 객체를 참조하는 데 사용되는 targetId 속성을 제공합니다. <Update> 메커니즘을 사용하려면 id 속성을 할당해야 합니다.

<Overlay>

문법

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

설명

이는 추상 요소이며 KML 파일에서 직접 사용할 수 없습니다. <Overlay>는 행성 표면 또는 화면에 그린 이미지 오버레이의 기본 유형입니다. <Icon>은 사용할 이미지를 지정하며 타이머 또는 카메라 변경사항을 기준으로 이미지를 새로고침하도록 구성할 수 있습니다. 이 요소에는 여러 오버레이의 스태킹 순서 지정 및 기본 이미지에 색상 및 투명도 값을 추가하기 위한 지정도 포함됩니다.

오버레이에만 한정되는 요소

<color>
색상 값은 불투명도 (알파) 값을 포함하여 16진수 표기법으로 표현됩니다. 표현 순서는 알파, 파란색, 녹색, 빨간색 (aabbggrr)입니다. 색상 값의 범위는 0~255입니다 (00~ff). 불투명도의 경우 00은 완전히 투명, ff는 완전히 불투명합니다. 예를 들어 불투명도 50%의 파란색을 오버레이에 적용하려면 다음을 지정합니다. <color>7fff0000</color>

참고: <geomColor> 태그는 더 이상 지원되지 않습니다. 대신 <color>를 사용하세요.

<drawOrder>
: 이 요소는 겹치는 오버레이에서 이미지의 스택 순서를 정의합니다. <drawOrder> 값이 큰 오버레이는 <drawOrder> 값이 작은 오버레이의 위에 그려집니다.
<Icon>
오버레이와 연결된 이미지를 정의합니다. <href> 요소는 오버레이로 사용할 이미지의 위치를 정의합니다. 이 위치는 로컬 파일 시스템 또는 웹 서버에 있을 수 있습니다. 이 요소를 생략하거나 <href>가 포함되어 있지 않으면 지면 또는 화면 오버레이로 정의된 색상과 크기를 사용하여 직사각형을 그립니다.
<Icon>
   <href>icon.jpg</href>
</Icon>

확장

다음에 의해 확장

<사진 오버레이>

구문

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

설명

<PhotoOverlay> 요소를 사용하면 어스에서 사진을 지리적으로 찾을 수 있으며 이 사진 오버레이에 대한 보기 매개변수를 지정할 수 있습니다. 사진 오버레이는 간단한 2D 직사각형, 부분 또는 전체 원통이나 구형 파노라마를 위한 구의 형태를 취할 수 있습니다. 오버레이는 지정한 위치에 배치되며 방향은 화면 시점을 향합니다.

<PhotoOverlay>는 <Feature>에서 파생되므로 <AbstractView>에서 파생된 두 요소(<Camera> 또는 <LookAt>) 중 하나를 포함할 수 있습니다. Camera(또는 LookAt)에서는 뷰포인트보기 방향(뷰 벡터라고도 함)을 지정합니다. 사진 오버레이는 시점을 기준으로 배치됩니다. 구체적으로, 2D 직사각형 이미지의 평면은 뷰 벡터와 직각을 이루는 수직을 이룹니다. 이 평면의 법선 즉, 사진의 일부에 속하는 정면은 화면 시점을 향합니다.

사진 오버레이 이미지의 URL은 <오버레이>에서 상속된 <아이콘> 태그에 지정됩니다. <아이콘> 태그는 사진 오버레이에 사용할 이미지 파일을 지정하는 <href> 요소를 포함해야 합니다. 매우 큰 이미지의 경우 <href>는 여러 해상도의 이미지 피라미드로 색인화되는 특수 URL입니다(이미지 피라미드 참조).

자세한 내용은 사진 오버레이에 대한 'KML 주제' 페이지를 참조하세요.

사진 오버레이에만 한정되는 요소

<rotation>
사진이 시야 내에 배치되는 방식을 조정합니다. 이 요소는 사진이 회전되었고 원하는 수평 시야에서 약간 벗어난 경우에 유용합니다.
<ViewVolume>
현재 장면을 어느 정도 표시할지 정의합니다. 시야를 지정하는 것은 실제 카메라의 렌즈 개구부를 지정하는 것과 유사합니다. 망원 렌즈처럼 작은 시야는 장면의 작은 부분에 초점을 맞춥니다. 큰 시야는 광각 렌즈처럼 장면의 큰 부분에 초점을 맞춥니다.
<leftFov>
카메라가 보이는 방향과 보이는 부분의 왼쪽 사이의 도 단위 각도입니다.
<rightFov>
카메라가 보이는 방향과 보이는 부분의 오른쪽 사이의 각도입니다.
<bottomFov>
카메라가 보이는 방향과 보이는 부분의 하단 사이의 도 단위 각도입니다.
<topFov>
카메라가 보이는 방향과 보이는 부분의 상단 사이의 각도입니다.
<near>
카메라 시점부터 사진 오버레이 모양까지 측정 방향을 미터 단위로 측정한 값입니다.
사진 오버레이의 시야는 4개의 평면에 의해 정의되며 각 평면은 뷰 벡터의 상대 각도에 의해 지정됩니다. 이 4개의 평면은 시야의 상단, 하단, 왼쪽, 오른쪽을 정의하며, 아래와 같이 잘린 피라미드 모양입니다.
다음 다이어그램은 이 피라미드 내에 있는 4개의 시야각을 보여줍니다.
<ImagePyramid>
매우 큰 이미지의 경우 계층적 이미지 세트인 이미지 피라미드를 구축해야 하며 각 피라미드는 계속해서 원본 이미지의 해상도 버전이 낮아집니다. 피라미드의 각 이미지는 타일로 세분화되므로 뷰의 일부분만 로드될 필요가 없습니다. Google 어스는 현재 시점을 계산하고 사용자와 이미지 간의 거리에 적절한 타일을 로드합니다. 시점이 사진 오버레이에 가까워지면 Google 어스는 고해상도 타일을 로드합니다. 원본 이미지의 픽셀 전체를 화면에서 동시에 볼 수는 없습니다. 이 사전 처리 과정을 활용하면 화면 시점 내에 속한 이미지 부분과 사용자가 현재의 시점에서 볼 수 있는 수준의 픽셀만 로드되므로 Google 어스가 최상의 성능을 발휘할 수 있습니다.
이미지 피라미드를 지정할 때 <Icon> 요소의 <href>를 수정하여 로드할 타일의 사양을 포함합니다.
<tileSize>
타일 크기(픽셀)입니다. 타일은 정사각형이어야 하며 <tileSize>는 2의 거듭제곱이어야 합니다. 256 (기본값) 또는 512 크기의 타일을 사용하는 것이 좋습니다. 원본 이미지는 다양한 해상도에서 이 크기의 타일로 나뉩니다.
<maxWidth>
원본 이미지의 픽셀 단위 너비입니다.
<maxHeight>
원본 이미지의 픽셀 단위 높이입니다.
<gridOrigin>
피라미드의 각 레이어에서 타일의 번호 지정을 시작할 위치를 지정합니다. 값 lowerLeft은 각 레이어의 행 1, 열 1이 그리드의 왼쪽 하단에 있음을 지정합니다.
<포인트>
<Point> 요소는 <Placemark> 요소 내 <Point> 역할을 합니다. 사진 오버레이의 위치를 나타내는 아이콘을 그립니다. 그려진 아이콘은 <Placemark>와 마찬가지로 <styleUrl> 및 <StyleSelector> 필드에서 지정합니다.
<shape>
사진 오버레이는 <shape>에 프로젝션됩니다. <shape>는 다음 중 하나일 수 있습니다.

직사각형(기본값) - 일반 사진의 경우

원통 - 파노라마의 경우(부분 또는 전체 원통일 수 있음)

구형 - 구형 파노라마인 경우

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

다음을 확장

다음에 의해 포함

<Placemark>

문법

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

설명

위치표시는 도형이 연결된 지형지물입니다. Google 어스에서 위치표시는 장소 패널에 목록 항목으로 표시됩니다. 지점이 포함된 위치표시에는 3D 뷰어에서 지구의 한 지점을 표시하는 아이콘이 연결되어 있습니다. Google 어스 3D 뷰어에서 지점 아이콘은 클릭할 수 있거나 마우스를 올릴 수 있는 유일한 개체입니다. 다른 도형 객체는 3D 뷰어에 아이콘이 없습니다. 3D 뷰어에서 사용자가 클릭할 항목을 제공하려면 지점과 다른 도형 객체가 모두 포함된 다중 도형 객체를 만들어야 합니다.

아이콘에만 한정되는 요소

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

다음을 확장

다음에 의해 포함

다음을 참조하세요.

<Point>

문법

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

설명

경도, 위도 및 고도 (선택사항)로 정의된 지리적 위치입니다. 위치표시에 지점이 포함되면 이 지점 자체가 위치표시의 이름 및 아이콘의 위치를 결정합니다. 지점이 돌출되면 지면에 선으로 연결됩니다. 이 '테더'는 현재의 선 스타일을 사용합니다.

지점에만 한정되는 요소

<extrude>
부울 값. 지점을 선으로 지면에 연결할지 여부를 지정합니다. 지점이 돌출되도록 하려면 <ElevationMode> 값이 지면 기준, 해저 기준 또는 절대값이어야 합니다. 지점은 지구의 중심 방향으로 돌출됩니다.
<altitudeMode>
<좌표> 요소의 고도 구성요소가 해석되는 방식을 지정합니다. 가능한 값은 다음과 같습니다.
  • 지면에 고정 - (기본값) 고도 사양을 무시하도록 표시합니다. 예를 들어 <coordinates> 태그에서 무시합니다.
  • 지면 기준 - 특정 위치의 실제 지면 고도를 기준으로 요소의 고도를 설정합니다. 예를 들어 위치의 지면 고도가 정확하게 해수면 높이이고 지점의 고도가 9미터로 설정된 경우 지점 아이콘 고도의 아이콘에 대한 고도는 이 모드에서 9미터입니다. 그러나 동일한 좌표가 지면 고도가 해수면보다 10미터 위에 있는 위치로 설정된 경우 좌표의 고도는 19미터입니다. 이 모드는 일반적으로 전신주 또는 스키 리프트를 배치하기 위해 사용됩니다.
  • 절대값 - 요소 아래의 지형의 실제 고도와 관계없이 해수면을 기준으로 좌표의 고도를 설정합니다. 예를 들어 절대 고도 모드로 좌표의 고도를 10미터로 설정한 경우 지형 역시 해수면보다 10미터 위에 있으면 지점 아이콘의 아이콘이 지면 높이에 표시됩니다. 지형이 해수면보다 3미터 위에 있으면 아이콘이 지형 위로 7미터 올라가 표시됩니다. 이 모드는 일반적으로 항공기 배치에 사용됩니다.
<x:고도 모드>
해저 기준의 고도를 허용하는 Google 확장 네임스페이스의 KML 확장입니다. 값은 다음과 같습니다.
  • 해저 기준 - 고도를 해저 위의 미터 단위 값으로 해석합니다. 지점이 해수면이 아닌 지면 위에 있으면 고도는 지면 위에 있는 것으로 해석됩니다.
  • 해저에 고정 - 고도 사양이 무시되며 지점이 해저에 배치됩니다. 지점이 해수면이 아닌 지면 위에 있으면 지점이 지면에 배치됩니다.
<coordinates>(필수)
경도, 위도, 고도의 부동 소수점 값으로 구성된 단일 튜플입니다 (이 순서대로). 경도 및 위도 값은 도 단위로 표시됩니다.
  • 경도 ≥ -180 및 <= 180
  • 위도 ≥ -90 및 ≤ 90
  • 고도 값 (선택사항)이 해발 미터 단위임
좌표를 설명하는 세 값 사이에는 공백을 두지 마세요.

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

다음을 확장

다음에 의해 포함

<Polygon>

문법

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

설명

다각형은 바깥쪽 경계 및 0 이상의 안쪽 경계로 정의됩니다. 경계는 결과적으로 선형 링으로 정의됩니다. 다각형이 돌출되면 경계가 지면에 연결되어 추가 다각형을 형성하여 건물 또는 상자 모양을 만듭니다. 돌출된 다각형은 색상, 색상 모드 및 채우기에 <PolyStyle>을 사용합니다.

다각형의 <좌표>는 시계 반대 방향의 순서로 지정해야 합니다. 다각형은 오른손의 손가락을 좌표가 지정된 방향으로 배치하면 엄지손가락이 다각형의 기하학적 도형의 일반적인 방향을 가리키고 있는 '오른쪽 규칙'을 따릅니다. 3D 그래픽에서 기하학적 법선은 다각형의 정면에서 떨어진 지점과 조명에 사용됩니다. Google 어스는 다각형의 정면만 채우므로 좌표가 올바른 순서로 지정된 경우에만 원하는 효과를 얻을 수 있습니다. 순서가 올바르지 않으면 다각형이 회색이 됩니다.

참고: Google 어스에서 지면에 고정의 <ElevationMode>가 포함된 다각형은 일정한 방향의 선을 따르지만 지면에 고정의 <heightMode>가 포함된 선형 링은 단독으로 존재하는 경우 큰 선을 따릅니다.

다각형에만 한정되는 요소

<extrude>
부울 값. 다각형을 지면에 연결할지 여부를 지정합니다. 다각형이 돌출되도록 하려면 고도 모드가 지면 기준, 해저 기준 또는 절대값이어야 합니다. 도형 자체가 아니라 꼭짓점만 돌출됩니다. 예를 들어 직사각형은 5개의 면이 있는 상자로 바뀝니다. 다각형의 꼭짓점은 지구의 중심 방향으로 돌출됩니다.
<tessellate>
이 필드는 다각형에서 사용되지 않습니다. 다각형이 지형을 따르도록 허용하려면 (즉, 공간 분할을 사용 설정) 고도 모드를 지형에 고정 또는 해저에 고정으로 지정합니다.
<altitudeMode>
<좌표> 요소의 고도 구성요소가 해석되는 방식을 지정합니다. 가능한 값은 다음과 같습니다.
  • 지면에 고정 - (기본값) 고도 사양을 무시하도록 표시합니다. 예를 들어 <coordinates> 태그에서 무시합니다.
  • 지면 기준 - 특정 위치의 실제 지면 고도를 기준으로 요소의 고도를 설정합니다. 예를 들어 위치의 지면 고도가 정확하게 해수면 높이이고 지점의 고도가 9미터로 설정된 경우 지점 아이콘 고도의 아이콘에 대한 고도는 이 모드에서 9미터입니다. 그러나 동일한 좌표가 지면 고도가 해수면보다 10미터 위에 있는 위치로 설정된 경우 좌표의 고도는 19미터입니다. 이 모드는 일반적으로 전신주 또는 스키 리프트를 배치하기 위해 사용됩니다.
  • 절대값 - 요소 아래의 지형의 실제 고도와 관계없이 해수면을 기준으로 좌표의 고도를 설정합니다. 예를 들어 절대 고도 모드로 좌표의 고도를 10미터로 설정한 경우 지형 역시 해수면보다 10미터 위에 있으면 지점 아이콘의 아이콘이 지면 높이에 표시됩니다. 지형이 해수면보다 3미터 위에 있으면 아이콘이 지형 위로 7미터 올라가 표시됩니다. 이 모드는 일반적으로 항공기 배치에 사용됩니다.
<x:고도 모드>
해저 기준의 고도를 허용하는 Google 확장 네임스페이스의 KML 확장입니다. 값은 다음과 같습니다.
  • 해저 기준 - <Elevation>을 해저 위의 미터 단위 값으로 해석합니다. 지점이 해수면이 아닌 지면 위에 있으면 고도는 지면 위에 있는 것으로 해석됩니다.
  • 해저에 고정 - 고도 사양이 무시되며 지점이 해저에 배치됩니다. 지점이 해수면이 아닌 지면 위에 있으면 지점이 지면에 배치됩니다.
<outerBoundaryIs>(필수)
<LinearRing> 요소를 포함합니다.
<innerBoundaryIs>
<LinearRing> 요소를 포함합니다. 다각형에는 다각형 내부에 여러 컷아웃을 생성하는 여러 <innerBoundaryIs> 요소가 포함될 수 있습니다.

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

다음을 확장

다음에 의해 포함

<PolyStyle>

구문

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

설명

다각형 돌출 (건물의 벽 모양) 및 선 돌출 (입체적인 울타리)을 비롯하여 모든 다각형의 그리기 스타일을 지정합니다.

다각형 스타일에만 한정되는 요소

<fill>
부울 값. 다각형을 채울지 여부를 지정합니다.
<outline>
부울 값. 다각형의 윤곽선을 표시할지 여부를 지정합니다. 다각형 윤곽선은 현재 LineStyle을 사용합니다.

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

다음을 확장

다음에 의해 포함

<Region>

문법

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

설명

지역에는 지리적 좌표 및 고도로 정의되는 관심 영역을 설명하는 경계 상자(<LatLonAltBox>)가 포함됩니다. 또한 지역에는 예상 화면 크기 측면에서 연결된 지역의 유효성 범위를 정의하는 LOD (세부정보 수준) 범위 (<Lod>)가 포함됩니다. 경계 상자가 사용자의 뷰 내에 있고 LOD 요구사항이 충족되면 리전이 '활성'이라고 합니다. 지역과 연결된 객체는 지역이 활성화될 때만 그려집니다. <viewRefreshMode>가 지역활성시인 경우 지역이 활성 상태인 경우에만 링크 또는 아이콘이 로드됩니다. 자세한 내용은 지역에 대한 'KML 주제' 페이지를 참조하세요. 컨테이너 또는 네트워크 링크 계층구조에서 이 계산은 계층구조에서 제일 가까운 상위 항목인 지역을 사용합니다.

지역에만 한정되는 요소

<LatLonAltBox>(필수)
지리 좌표와 고도로 정의되는 관심 영역을 설명하는 경계 상자입니다. 기본값 및 필수 필드는 다음과 같습니다.
<ElevationMode> 또는 <gx:heightMode>
<고도 모드>에 사용 가능한 값은 지면에 고정, 지면 기준, 절대값입니다. <gx:elevationMode>의 가능한 값은 해저에 고정해저 기준입니다. <LatLonBox>도 참고하세요.
<minAltitude>
미터 단위로 지정되며 고도 모드 사양의 영향을 받습니다.
<maxAltitude>
미터 단위로 지정되며 고도 모드 사양의 영향을 받습니다.
<north>(필수)
경계 상자 북쪽 가장자리의 위도를 0~±90의 십진수 각도로 지정합니다.
<south> (필수)
경계 상자 남쪽 가장자리의 위도를 0~±90의 십진수 각도로 지정합니다.
<east> (필수)
경계 상자의 동쪽 가장자리에 대한 경도를 0에서 ±180의 십진수 각도로 지정합니다.
<west> (필수)
경계 상자 서쪽 가장자리의 경도를 0에서 ±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>는 지역이 '활성'으로 간주되는 데 필요한 투영된 지역의 크기를 설명합니다. 또한 투명에서 불투명으로 페이드 인하고 불투명에서 투명으로 페이드 아웃하는 데 사용되는 픽셀 램프의 크기를 지정합니다. 이러한 매개변수의 시각적 표현은 아래 다이어그램을 참고하세요.
<Lod>
<minLodPixels>256</minLodPixels>
<maxLodPixels>-1</maxLodPixels>
<minFadeExtent>0</minFadeExtent>
<maxFadeExtent>0</maxFadeExtent>
</Lod>
<minLodPixels> (필수)

지정된 값의 변이 픽셀 단위로 표시된 화면 공간에 정사각형을 정의합니다. 예를 들어 128는 128 x 128픽셀의 정사각형을 정의합니다. 리전이 활성화되려면 리전의 경계 상자가 이 정사각형보다 크고 maxLodPixels 정사각형보다 작아야 합니다.

자세한 내용은 개발자 가이드의 지역 관련 작업 챕터와 Google 어스 공익사업 문서의 지역에 과부하 방지하기 튜토리얼을 참고하세요.

<maxLodPixels>
특정 지역의 표시 범위의 최대 한도를 나타내는 화면 픽셀 단위의 측정값입니다. 기본값인 -1은 '무제한 크기로 활성화'를 나타냅니다.
<minFadeExtent>
도형이 완전한 불투명에서 완전한 투명까지 페이드 아웃하는 거리입니다. 화면 픽셀로 표현되는 이 램프 값은 LOD (표시) 제한의 최소 끝에 적용됩니다.
<maxFadeExtent>
도형이 완전히 투명에서 완전히 불투명으로 서서히 변하는 거리입니다. 화면 픽셀로 표현되는 이 램프 값은 LOD (표시) 한도의 최대 끝에 적용됩니다.
다음 다이어그램에서 P가 계산된 투영 픽셀 크기인 경우 원 안의 숫자는 다음을 나타냅니다.
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

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

다음을 확장

다음에 의해 포함

<스키마>

문법

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

설명

KML 지형지물에 맞춤 데이터를 추가하는 데 사용되는 맞춤 KML 스키마를 지정합니다. 'id' 속성은 필수 항목이며 KML 파일 내에서 고유해야 합니다. <Schema>는 항상 <Document>의 하위 요소입니다.

스키마에만 한정되는 요소

스키마 요소에는 하나 이상의 SimpleField 요소가 포함됩니다. SimpleField에서 스키마는 맞춤 필드의 유형이름을 선언합니다. 원하는 경우 이 맞춤 필드에 displayName(Google 어스에 표시하는 데 사용되는 공백과 적절한 구두점이 포함된 사용자 친화적인 양식)을 지정합니다.

<SimpleField type="문자열" name="string">
맞춤 필드의 선언으로, 이 필드의 유형이름을 모두 지정해야 합니다. type 또는 name이 생략되면 필드가 무시됩니다. 유형은 다음 중 하나일 수 있습니다.
  • 문자열
  • int
  • uint
  • short
  • ushort
  • float
  • double
  • bool
<displayName>
Google 어스 사용자에게 필드 이름이 표시될 때 사용할 이름입니다. [CDATA] 요소를 사용하여 표준 HTML 마크업을 이스케이프합니다.

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

다음을 확장

루트 요소입니다.

다음에 의해 포함

다음을 참조하세요.

<ScreenOverlay>

문법

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

설명

이 요소는 화면에 고정된 이미지 오버레이를 그립니다. ScreenOverlays의 사용 예는 나침반, 로고 및 전방 표시 장치가 있습니다. ScreenOverlay 크기 조정은 <size> 요소에 의해 결정됩니다. 오버레이 배치는 <overlayXY>로 지정된 이미지의 지점을 <screenXY>로 지정된 화면의 지점에 매핑하여 처리합니다. 그러면 이미지가 <rotationXY>로 지정된 화면을 기준으로 지점에 대해 <rotation> 각도로 회전합니다.

<Icon>의 하위 요소인 <href>는 오버레이로 사용할 이미지를 지정합니다. 이 파일은 로컬 파일 시스템 또는 웹 서버에 있을 수 있습니다. 이 요소를 생략하거나 <href>가 포함되어 있지 않으면 화면 오버레이에 의해 정의된 색상과 크기를 사용하여 직사각형을 그립니다.

화면 오버레이에만 한정되는 요소

<overlayXY>
화면 좌표(<screenXY>)에 매핑된 오버레이 이미지 위 또는 외부의 지점을 지정합니다. xy 값과 이러한 값의 단위가 필요합니다.
xy 값은 이미지의 픽셀 ("pixels"), 분수 ("fraction") 또는 인셋 픽셀("insetPixels")의 세 가지 방법으로 지정할 수 있습니다. 인셋 픽셀은 이미지의 오른쪽 상단에서 픽셀 단위의 오프셋입니다. xy 위치는 서로 다른 방법으로 지정할 수 있습니다. 예를 들어 x는 픽셀이고 y는 분수가 될 수 있습니다. 좌표계의 원점은 이미지의 왼쪽 하단에 있습니다.
  • x - 오버레이 이미지에 있는 지점의 x 구성요소를 나타내는 픽셀 수, 이미지의 부분적인 구성요소 또는 픽셀 삽입입니다.
  • y - 오버레이 이미지에 있는 지점의 y 구성요소를 나타내는 픽셀 수, 이미지의 부분적인 구성요소 또는 픽셀 삽입입니다.
  • x단위 - x 값이 지정된 단위입니다. 값 "fraction"x 값이 이미지의 비율임을 나타냅니다. 값 "pixels"x 값을 픽셀 단위로 나타냅니다. 값 "insetPixels"은 이미지의 오른쪽 가장자리로부터의 들여쓰기를 나타냅니다.
  • yunits - y 값이 지정된 단위입니다. 값 "fraction"y 값이 이미지의 비율임을 나타냅니다. 값 "pixels"y 값을 픽셀 단위로 나타냅니다. 값 "insetPixels"은 이미지의 상단 가장자리로부터의 들여쓰기를 나타냅니다.
<screenXY>
오버레이 이미지가 매핑된 화면 원점을 기준으로 지점을 지정합니다. xy 값은 세 가지 방법으로 지정할 수 있습니다. 하나는 픽셀 ("pixels"), 화면의 비율 ("fraction"), 다른 하나는 화면 오른쪽 상단에서부터 픽셀 단위의 오프셋인 인셋 픽셀("insetPixels")입니다. xy 위치는 서로 다른 방법으로 지정할 수 있습니다. 예를 들어 x는 픽셀이고 y는 분수가 될 수 있습니다. 좌표계의 원점은 화면의 왼쪽 하단에 있습니다.
  • x - 화면에 있는 지점의 x 구성요소를 나타내는 픽셀 수, 화면의 부분적인 구성요소 또는 픽셀 삽입입니다.
  • y - 화면에 있는 지점의 y 구성요소를 나타내는 픽셀 수, 화면의 부분적인 구성요소 또는 픽셀 삽입입니다.
  • x단위 - x 값이 지정된 단위입니다. 값 "fraction"x 값이 화면의 비율임을 나타냅니다. 값 "pixels"x 값을 픽셀 단위로 나타냅니다. 값 "insetPixels"은 화면의 오른쪽 가장자리로부터의 들여쓰기를 나타냅니다.
  • yunits - y 값이 지정된 단위입니다. 비율 값은 y 값이 화면의 비율임을 나타냅니다. 값 "pixels"y 값을 픽셀 단위로 나타냅니다. 값 "insetPixels"은 화면의 상단 가장자리로부터의 들여쓰기를 나타냅니다.
예를 들어 <screenXY x=".5" y=".5" xunits="fraction" yunits="fraction"/>은 화면 중앙에 있는 지점을 나타냅니다.
예를 들면 다음과 같습니다.

이미지를 중앙에 배치합니다.

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

이미지를 왼쪽 상단에 배치합니다.

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

이미지를 화면의 오른쪽에 배치합니다.

<ScreenOverlay>
  <overlayXY x="1" y="1" xunits="fraction" yunits="fraction"/>
  <screenXY x="1" y="1" xunits="fraction" yunits="fraction"/>
</ScreenOverlay>  
<rotationXY>
화면 오버레이가 화면과 관련하여 회전하는 지점을 나타냅니다.
<size>
화면 오버레이의 이미지 크기를 다음과 같이 지정합니다.
  • -1 값은 기본 크기를 사용하도록 표시합니다.
  • 0 값은 가로세로 비율을 유지하도록 표시합니다.
  • n 값은 크기의 값을 설정합니다.
예:

강제로 이미지의 원래 xy 크기를 유지하도록 하려면 값을 -1로 설정합니다.

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

강제로 이미지의 가로 크기를 유지하되 세로 화면 공간의 20%를 사용하도록 하려면 다음과 같이 합니다.

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

강제로 이미지의 크기를 100픽셀x500픽셀로 조절하려면 다음과 같이 합니다.

<size x="100" y="500" xunits="pixels" yunits="pixels"/> 
<rotation>
상위 객체의 회전 각도를 나타냅니다. 값 0은 회전이 없음을 의미합니다. 값은 북쪽에서부터 시작하는 시계 반대 방향의 도 단위 각도입니다. ±180을 사용하여 상위 객체의 회전을 0에서부터 나타냅니다. (.5,.5)가 아닌 경우 <rotation>의 중심은 <rotationXY>에 지정됩니다.

다음 예에서는 이미지의 원래 너비, 높이 및 가로세로 비율을 사용하여 화면의 정중앙에 이미지를 배치합니다.

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

다음을 확장

다음에 의해 포함

<Style>

문법

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

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

설명

스타일은 스타일 지도와 지형지물에서 참조할 수 있는 주소 지정 가능한 스타일 그룹을 정의합니다. 스타일은 3D 뷰어에서 도형이 표시되는 방식과 지형지물이 목록 보기의 장소 패널에 표시되는 방식에 영향을 줍니다. 공유 스타일은 <Document>에 수집되며 이 스타일을 사용하는 개별 지형지물에서 참조할 수 있도록 스타일용으로 정의된 ID가 있어야 합니다.

id를 사용하여 <styleUrl>의 스타일을 참조합니다.

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

다음을 확장

다음에 의해 포함

스타일에만 한정되는 요소

<StyleMap>

문법

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

설명

<StyleMap>은 서로 다른 두 스타일을 매핑합니다. 일반적으로 <StyleMap> 요소는 사용자가 Google 어스의 아이콘 위로 마우스를 가져가면 강조표시된 버전이 표시되도록 장소 표시에 별도의 일반 스타일과 강조표시된 스타일을 제공하는 데 사용됩니다.

스타일 맵에만 한정되는 요소

<Pair>(필수)
사전 정의된 <styleUrl>에 모드(일반 또는 강조표시)를 매핑하는 키-값 쌍을 정의합니다. <Pair>에는 다음 두 요소가 포함됩니다 (둘 다 필요함).
  • <key>: 키를 식별합니다.
  • <styleUrl> 또는 <Style>: 스타일을 참조합니다. <styleUrl>에서는 KML 문서에 로컬인 참조된 스타일 요소의 경우 간단한 # 참조가 사용됩니다. 외부 파일에 포함된 스타일의 경우 # 참조와 함께 전체 URL을 사용합니다. 예를 들면 다음과 같습니다.
<Pair> 
  <key>normal</key>
  <styleUrl>http://myserver.com/populationProject.xml#example_style_off</styleUrl>
</Pair> 

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

다음을 확장

다음에 의해 포함

<StyleSelector>

문법

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

설명

이는 추상 요소이며 KML 파일에서 직접 사용할 수 없습니다. <Style> 및 <StyleMap> 요소의 기본 유형입니다. StyleMap 요소는 위치표시의 현재 모드를 기반으로 스타일을 선택합니다. 스타일 선택기에서 파생된 요소는 요소의 IDURL로 고유하게 식별됩니다.

스타일 선택기에만 한정되는 요소

이 추상 요소에는 하위 요소가 포함되어 있지 않습니다.

확장

다음에 의해 확장

<TimePrimitive>

문법

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

설명

이는 추상 요소이며 KML 파일에서 직접 사용할 수 없습니다. 이 요소는 <TimeSpan> 및 <TimeStamp> 요소에 의해 확장됩니다.

다음을 확장

다음에 의해 확장

<TimeSpan>

문법

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

설명

시작 및 종료 날짜 시간으로 제한된 시간의 범위를 나타냅니다.

<begin> 또는 <end>가 없으면 기간의 끝이 제한되지 않습니다 (아래 예 참고).

dateTime은 XML 스키마 시간 (XML 스키마 파트 2: 데이터 유형 두 번째 버전 참고)에 따라 정의됩니다. 이 값은 yyyy-mm-ddThh:mm:ss.ssszzzzzz로 표현할 수 있으며, 여기서 T는 날짜와 시간 사이의 구분자이며 시간대는 Z(UTC의 경우) 또는 zzzzzz(UTC와 관련된 ±hh:mm)입니다. 또한 이 값은 날짜로만 표현할 수 있습니다. 예는 <TimeStamp>를 참조하세요.

타임스팬에만 한정되는 요소

<begin>
기간의 시작을 설명합니다. 이 요소가 없으면 기간의 시작이 제한되지 않습니다.
<end>
특정 기간의 종료 시점을 설명합니다. 이 요소가 없으면 기간의 끝이 제한되지 않습니다.

다음 예는 콜로라도주를 나타내는 기간을 보여줍니다. 콜로라도는 1876년 8월 1일에 미국의 주가 되었고 현재도 주이므로 <begin> 태그만 포함하고 있습니다.

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

다음을 확장

다음에 의해 포함

<TimeStamp>

문법

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

설명

시간의 단일 순간을 나타냅니다. 이는 간단한 요소이며 하위 요소를 포함하지 않습니다. 값은 XML 시간으로 지정된 dateTime입니다 (XML 스키마 파트 2: 데이터 유형 두 번째 버전 참고). 타임 스탬프의 정밀도는 <when> 요소의 dateTime 값에 따라 결정됩니다.

타임스탬프에만 한정되는 요소

<when>
특정 순간을 지정합니다. 값은 dateTime이며 다음 중 하나일 수 있습니다.
  • dateTime은 초를 나타냅니다.
  • date는 일을 나타냅니다.
  • gYearMonth는 월을 나타냅니다.
  • gYear는 연도를 나타냅니다.

다음 예에서는 <when> 값에 대한 여러 표기를 보여 줍니다.

  • gYear (YYYY)
<TimeStamp>
  <when>1997</when>
</TimeStamp>
  • gYearMonth(YYYY-MM)
<TimeStamp>
  <when>1997-07</when>
</TimeStamp> 
  • date(YYYY-MM-DD)
<TimeStamp>
  <when>1997-07-16</when>
</TimeStamp> 
  • dateTime (YYYY-MM-DDThh:mm:ssZ)
    여기서 T는 캘린더와 시간별 시간 표기법 사이의 구분선이며 Z는 UTC를 나타냅니다. 초는 필수입니다.
<TimeStamp>
  <when>1997-07-16T07:30:15Z</when>
</TimeStamp>
  • dateTime (YYYY-MM-DDThh:mm:sszzzzzz)
    이 예시에서는 현지 시간을 제공한 다음 UTC로의 ± 전환을 제공합니다.
<TimeStamp>
  <when>1997-07-16T10:30:15+03:00</when>
</TimeStamp>

확장

다음에 의해 포함

<gx:TimeSpan> 및 <gx:TimeStamp>

이 요소는 OGC KML 2.2 표준의 확장이며 Google 어스 5.0 이상에서 지원됩니다. 자세히 알아보기

확장 네임스페이스에 있는 <TimeSpan><TimeStamp> 요소의 사본입니다. 이를 통해 AbstractView (<Camera><LookAt>)에 시간 값을 포함할 수 있습니다. 시간 값은 과거 이미지, 햇빛, 타임스탬프가 있는 지형지물의 표시 여부를 제어하는 데 사용됩니다.

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

이 요소는 OGC KML 2.2 표준의 확장이며 Google 어스 5.0 이상에서 지원됩니다. 자세히 알아보기

문법

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

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

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

설명

<gx:Tour>에는 단일 <gx:Playlist> 요소가 포함될 수 있으며 이 요소에는 모든 KML 브라우저에서 둘러보기를 정의하는 gx:TourPrimitive 요소의 순서가 지정된 목록이 포함됩니다. 투어 자세히 알아보기

KML 개발자 가이드둘러보기 장에 둘러보기 예가 여러 가지 있습니다.

포함

  • gx:Playlist - 여러 gx:TourPrimitive 요소를 포함합니다. <gx:Tour> 요소 내에 0개 또는 1개의 <gx:Playlist> 요소가 포함될 수 있습니다.
    <gx:Tour>
      <gx:Playlist>
        <!-- gx:TourPrimitive -->
          ...
        <!-- /gx:TourPrimitive -->
    
        <!--- Any number of gx:TourPrimitive elements can be included --->
      </gx:Playlist>
    </gx:Tour>

<gx:TourPrimitive>

이 요소는 OGC KML 2.2 표준의 확장이며 Google 어스 5.0 이상에서 지원됩니다. 자세히 알아보기

문법

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

설명

이는 추상 요소이며 KML 파일에서 직접 사용할 수 없습니다. 이 요소는 <gx:FlyTo>, <gx:AnimatedUpdate>, <gx:TourControl>, <gx:Wait><gx:SoundCue> 요소에 의해 확장됩니다.

gx:TourPrimitive에서 확장된 요소는 이동 지점과 이러한 이동 시간, 일시중지, KML 지형지물 업데이트, 재생할 사운드 파일 등 둘러보기 중에 KML 브라우저에 안내를 제공합니다.

이러한 요소는 <gx:Playlist> 요소 내에 포함되어야 하며, 이 요소는 <gx:Tour> 요소와 함께 포함됩니다.

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

다음에 의해 포함

다음에 의해 확장

  • <gx:AnimatedUpdate>
  • <gx:FlyTo>
  • <gx:Soundcue>
    <gx:SoundCue id="ID">
      <href>http://www.example.com/audio/trumpets.mp3</href>   <!-- any URI -->
      <gx:delayedStart>0</gx:delayedStart>                     <!-- double -->
    </gx:SoundCue>
    MP3, M4A 또는 AAC 형식으로 재생할 사운드 파일을 지정하는 <href> 요소를 포함합니다. 기간은 포함되지 않습니다. 사운드 파일은 나머지 둘러보기와 동시에 재생됩니다. 즉, <gx:SoundCue> 둘러보기 프리미티브에 도달한 후 즉시 다음 둘러보기 프리미티브가 실행됩니다. 첫 번째 사운드가 재생되기 전에 다른 사운드 파일이 신호를 받으면 파일이 섞입니다. <gx:delayedStart> 요소는 파일을 재생하기 전에 지정된 시간(초) 동안 사운드 시작을 지연하도록 지정합니다.
  • <gx:TourControl>
    <gx:TourControl id="ID">
      <gx:playMode>pause</gx:playMode>    <!-- gx:playModeEnum: pause -->
    </gx:TourControl>
    단일 <gx:playMode> 요소가 포함되어 있으며, 사용자가 탐색을 계속하기 위한 조치를 취할 때까지 둘러보기를 일시중지할 수 있습니다.
  • <gx:Wait>
    <gx:Wait id="ID">
      <gx:duration>0.0</gx:duration>    <!-- double -->
    </gx:Wait>
    카메라가 다음 gx:TourPrimitive를 재생하기 전에 지정된 시간(초) 동안 마지막으로 정의된 gx:AbstractView로 유지합니다. 기다리는 동안 둘러보기 타임라인이 일시중지되지는 않습니다. 카메라가 대기하는 동안 현재 재생 중인 사운드 파일과 애니메이션 업데이트는 계속 재생됩니다.

확장

<gx:Track>

이 요소는 OGC KML 2.2 표준의 확장이며 Google 어스 5.2 이상에서 지원됩니다. 자세히 알아보기

문법

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

설명

트랙은 객체가 특정 기간 동안 세계를 이동하는 방식을 설명합니다. 이 기능을 사용하면 동일한 개체의 여러 위치를 여러 번 인코딩하는 표시 객체 (점 아이콘 또는 모델)를 만들 수 있습니다. Google 어스에서 시간 슬라이더를 사용하면 사용자가 시간에 따라 보기를 이동할 수 있으며 이에 따라 개체의 위치가 이동합니다.

gx:MultiTrack 요소는 트랙을 따라 이동하는 관련 아이콘 (또는 모델) 하나로 여러 트랙을 하나의 개념 단위로 수집하는 데 사용됩니다. 이 기능은 동일한 실제 객체에 여러 트랙이 있는 경우에 유용합니다. <gx:MultiTrack>의 <gx:interpolate> 부울 요소는 다중 트랙의 트랙 사이에 삽입할지 여부를 지정합니다. 이 값이 0이면 포인트 또는 모델이 한 트랙의 끝에서 중지되고 다음 트랙의 시작 부분으로 이동합니다. 예를 들어 단일 위치표시가 이틀 동안의 이동을 나타내려고 하며 이 기간 동안 GPS 장치가 4시간 동안 꺼져 있었던 경우 장치가 꺼졌다가 다시 켜진 지점 사이의 중단점을 표시하는 것이 좋습니다. <gx:interpolate>의 값이 1인 경우 트랙이 하나의 연속적인 경로로 표시되도록 첫 번째 트랙의 끝과 다음 트랙의 시작 부분 사이의 값이 삽입 됩니다.

Google 어스로 GPS 데이터를 가져오는 방법에 대한 자세한 내용은 Google 어스 사용자 가이드를 참조하세요.

트랙이 유용한 이유

이전 버전의 KML (Google 어스 5.2 이전)을 사용하면 시간 요소를 지형지물 (위치표시, 지면 오버레이 등)과 연결할 수 있습니다. 그러나 시간 요소는 하나만 특정 지형지물과 연결할 수 있었습니다. 트랙은 시간 데이터를 표시되는 지형지물과 연결하기 위한 보다 효율적인 메커니즘입니다. 개체가 공간에서 이동할 때 여러 시간 요소와 연결될 수 있는 하나의 지형지물만 만들면 됩니다.

또한 <Track>은 트랙을 따라 언제든지 객체의 위치를 삽입하는 메커니즘을 제공하기 때문에 트랙 요소는 KML 개발자 가이드시간 및 애니메이션 챕터에 설명된 이전 메커니즘보다 강력합니다. 이 새로운 기능으로 Google 어스는 시간의 흐름에 따라 개체에 대한 고도, 속도 프로필 및 맞춤 데이터(있는 경우)의 그래프를 표시합니다.

'스파스' 데이터

트랙 위치의 일부 데이터 값이 누락된 경우 배열의 균형을 맞추기 위해 빈 <coord/>(<coord></coord>) 또는 <angles/>(<angles></angles>) 태그를 제공할 수 있습니다. 빈 <coord/> 또는 <angles/> 태그는 특정 데이터 포인트에 이러한 데이터가 존재하지 않음을 나타내며, 잘 지정된 가장 가까운 데이터 포인트 2개 간에 값이 보간되어야 합니다. 이 동작은 트랙의 ExtendedData에도 적용됩니다. <when>을 제외한 모든 요소가 비어 있을 수 있으며 가장 가까운 위치에 있는 올바르게 지정된 두 요소 사이에 삽입됩니다.

트랙에만 한정되는 요소

<altitudeMode>
<좌표> 요소의 고도 구성요소가 해석되는 방식을 지정합니다. 가능한 값은 다음과 같습니다.
  • 지면에 고정 - (기본값) 고도 사양을 무시하도록 표시합니다. 예를 들어 <gx:coord> 태그에서 무시합니다.
  • 지면 기준 - 특정 위치의 실제 지면 고도를 기준으로 요소의 고도를 설정합니다. 예를 들어 위치의 지면 고도가 정확하게 해수면 높이이고 지점의 고도가 9미터로 설정된 경우 지점 아이콘 고도의 아이콘에 대한 고도는 이 모드에서 9미터입니다. 그러나 동일한 좌표가 지면 고도가 해수면보다 10미터 위에 있는 위치로 설정된 경우 좌표의 고도는 19미터입니다.
  • 절대값 - 요소 아래의 지형의 실제 고도와 관계없이 해수면을 기준으로 좌표의 고도를 설정합니다. 예를 들어 절대 고도 모드로 좌표의 고도를 10미터로 설정한 경우 지형 역시 해수면보다 10미터 위에 있으면 지점 아이콘의 아이콘이 지면 높이에 표시됩니다. 지형이 해수면보다 3미터 위에 있으면 아이콘이 지형 위로 7미터 올라가 표시됩니다.
<x:고도 모드>
해저 기준의 고도를 허용하는 Google 확장 네임스페이스의 KML 확장입니다. 값은 다음과 같습니다.
  • 해저 기준 - 고도를 해저 위의 미터 단위 값으로 해석합니다. 지점이 해수면이 아닌 지면 위에 있으면 고도는 지면 위에 있는 것으로 해석됩니다.
  • 해저에 고정 - 고도 사양이 무시되며 지점이 해저에 배치됩니다. 지점이 해수면이 아닌 지면 위에 있으면 지점이 지면에 배치됩니다.
<시간>
position(<gx:coord> 요소에 지정됨)에 해당하는 time 값입니다. <Track>의 <when> 요소 수는 <gx:coord> 요소 (및 포함된 경우 <gx:angles> 요소)의 수와 같아야 합니다.
<gx:coord>
위도, 위도, 고도의 세 가지 값으로 구성된 좌표 값으로, 쉼표 구분자가 없습니다. 예를 들면
<gx:coord>-122.207881 37.371915 156.000000</gx:coord>
입니다.

<gx:coord> 요소의 구문은 쉼표를 사용하여 경도, 위도, 고도 구성요소를 구분하는 <Coordinates> 요소의 구문과 다릅니다. 지정된 요소의 수는 시간() 및 위치 () 요소의 수와 같아야 합니다. 필요한 경우 누락된 값에 빈 <gx:coord> 요소를 지정할 수 있습니다.

<gx:angles>
이 값은 트랙 내 각 시간/위치의 아이콘 또는 모델에 추가 제목, 기울기, 롤 값을 지정하는 데 사용됩니다. 3개의 부동 소수점 값은 쉼표 구분자 없이 나열되며 회전 각도를 나타냅니다. <gx:angles>를 지정하지 않으면 Google 어스가 트랙에서 객체의 방향, 기울기 및 롤을 추론합니다. 지정된 <gx:angles> 요소 수는 시간(<when>) 및 위치(<gx:coord>) 요소 수와 동일해야 합니다. 필요한 경우 누락된 값에 빈 <gx:angles> 요소를 지정할 수 있습니다.

현재 아이콘은 제목만 지원하지만 모델은 세 가지 값을 모두 지원합니다.

다음은 이 값을 설정하는 예입니다.

<gx:angles>45.54676 66.2342 77.0</gx:angles>
<모델>
이 플래그를 지정하면 모델이 트랙의 현재 위치를 나타내는 데 사용되는 포인트 아이콘을 대체합니다. <Model>이 <gx:Track> 내에 지정된 경우 <Model>의 하위 요소가 작동하는 방식은 다음과 같습니다.
  • <Location> 요소가 무시됩니다.
  • <altitudeMode> 요소가 무시됩니다.
  • <Orientation> 값은 다음과 같이 트랙의 방향과 결합됩니다. 먼저 <Orientation> 회전이 적용되어 로컬 (x, y, z) 좌표계에서 오른쪽 정북향으로 모델을 가져옵니다. 다음으로, 모델이 트랙을 따라 이동할 때 모델의 방향, 기울기 및 롤에 영향을 미치는 <gx:angles> 값의 보간에 해당하는 회전이 적용됩니다. 각도가 지정되지 않은 경우 방향과 기울기는 모델의 이동에서 추론됩니다.

    도움말: 방향을 지정하는 방법을 잘 모르는 경우 <Model>에서 <Orientation> 요소를 생략하고 모델이 트랙을 따라 이동하는 Google 어스의 모델 위치를 확인하세요. 모델 전면이 옆으로 향하는 경우 <Orientation>의 <heading> 요소를 수정하여 모델이 전면을 향하도록 모델을 회전하세요. 모델이 수직이 아닌 경우 <tilt> 또는 <roll> 요소를 수정해 보세요.

<ExtendedData>

KML 파일의 앞부분의 <Schema>에 정의된 맞춤 데이터 요소입니다.

트랙의 각 시간/위치와 연결된 확장 데이터를 추가하는 것이 유용할 때가 많습니다. 예를 들어 확장 데이터가 포함된 트랙의 예에 나와 있는 것처럼 자전거 타기에는 심박수, 페달 속도 및 동력 데이터가 포함될 수 있습니다. <Schema>에서 각 맞춤 데이터 유형에 <gx:SimpleArrayField>를 정의합니다. 그런 다음 각 데이터 유형에 트랙의 각 시간/위치에 해당하는 <gx:value> 요소가 포함된 <gx:SimpleArrayData> 요소를 포함합니다. 새 데이터 필드 추가에 대한 자세한 내용은 KML 개발자 가이드맞춤 데이터 추가 장을 참고하세요. Google 어스에서 맞춤 데이터는 트랙의 고도 프로필에 표시됩니다.

간단한 예

매우 기본적인 이 예에서는 <when> 및 <gx:coord> 값의 병렬 '배열'을 만드는 방법을 보여줍니다. 시간 및 위치 값의 개수가 동일해야 합니다.

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

확장 데이터가 포함된 트랙의 예

이 예에서 굵게 표시된 부분은 자전거 타기를 위한 맞춤 데이터를 정의하고 지정하는 데 사용되는 요소를 강조표시합니다. 맞춤 데이터 필드의 이름은 내부적으로 'heartrate', 'cadence', 'power'로 지정됩니다. <Schema> 요소는 각 값 집합 (심박수, 페달 속도 및 동력)에 표시할 이름을 정의하고 각 새 필드의 데이터 유형 (심장수 및 빈도는 int 유형, 전력은 float 유형)을 지정합니다. Google 어스에서 이 맞춤 데이터는 트랙의 고도 프로필과 함께 표시됩니다.

이 예에서는 맞춤 아이콘과 강조표시 및 일반 모드를 위한 별도의 아이콘과 선 스타일을 사용하여 트랙을 보다 현실적으로 표현합니다. 그러나 이 예시에는 7개의 데이터 값 집합만 포함되어 있습니다. 실제 예시에는 수만 개의 값이 포함되어 있습니다. (출처: 션 브리더 이 데이터는 Garmin Edge 705 및 관련 심박수 측정기와 파워 측정기로 수집되었습니다.

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

확장

다음에 의해 포함

<Update>

문법

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

설명

지정된 URL을 사용하여 이미 로드된 KML 데이터에 대한 추가, 변경 또는 삭제를 지정합니다. <targetHref>는 Google 어스 내에서 데이터를 수정할 .KML 또는 .kmz 파일을 지정합니다. <Update>는 항상 NetworkLinkControl에 포함됩니다. 또한, NetworkLinkControl이 포함된 파일은 NetworkLink에 의해 로드되어야 합니다. 업데이트가 작동하는 방식의 자세한 예는 업데이트에 관한 'KML 주제' 페이지를 참조하세요.

업데이트에만 한정되는 요소

<Change>, <Create>, <Delete> 요소를 모두 포함할 수 있으며 이러한 요소는 순서대로 처리됩니다.

<targetHref>(필수)
Google 어스 내에서 <Update> 요소로 데이터를 수정할 .KML 또는 .kmz 파일을 지정하는 URL입니다. 이 KML 파일은 이미 <NetworkLink>를 통해 로드되어 있어야 합니다. 이 파일에서 수정할 요소에는 이미 명시적인 ID 속성이 정의되어 있어야 합니다.
<Change>
<NetworkLink>로 이미 로드된 요소의 값을 수정합니다. 변경 요소 내에서 수정할 하위 요소에는 원본 요소의 id를 참조하는 targetId 속성이 포함되어야 합니다.
이 업데이트는 '희소 업데이트'로 간주될 수 있습니다. 수정된 요소에서 <Change>에 나열된 값만 대체되고 다른 모든 값은 그대로 유지됩니다. <Change>가 좌표 집합에 적용되면 새 좌표가 현재 좌표를 대체합니다.
이 요소의 하위 요소는 수정할 요소이며 targetId 속성으로 식별됩니다.
<Create>
<NetworkLink>를 통해 이미 로드된 폴더 또는 문서에 새 요소를 추가합니다. <Update><targetHref> 요소는 원래 폴더 또는 문서가 포함된 .KML 또는 .kmz 파일의 URL을 지정합니다. 이 파일 내에서 새 데이터를 포함할 폴더 또는 문서에 이미 명시적인 ID가 정의되어 있어야 합니다. 이 id는 <Create> 내에서 추가할 요소가 포함된 폴더 또는 문서의 targetId 속성으로 참조됩니다.
객체를 만들어 Google 어스에 로드하고 나면 원본 상위 폴더 문서의 URL을 사용합니다. 이 업데이트/생성 메커니즘으로 추가한 개체에 후속 업데이트를 수행하려면 <targetHref>를 중간 업데이트를 로드한 파일의 URL이 아닌 원본 문서 또는 폴더의 URL로 설정합니다.
<Delete>
이미 <NetworkLink>를 통해 로드된 복잡한 요소에서 지형지물을 삭제합니다. <Update><targetHref> 요소는 삭제할 데이터가 포함된 .KML 또는 .kmz 파일을 지정합니다. 이 파일 내에서 삭제할 요소에는 이미 명시적인 ID가 정의되어 있어야 합니다. <Delete> 요소는 targetId 속성에서 이 id를 참조합니다.
삭제 가능한 유일한 요소인 <Delete>의 하위 요소는 문서, 폴더, 지면 오버레이, 아이콘, 화면 오버레이입니다.

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

<Create>의 예

이 예에서는 'region24'라는 ID를 갖는 이전에 생성된 문서에서 새 위치표시를 만듭니다. 'placemark891'에 후속 업데이트를 하더라도 http://myserver.com/Point.KML을 <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>

<Delete>의 예

이 예에서는 이전에 Google 어스에 로드한 위치표시를 삭제합니다. 이 아이콘은 지정된 URL이 있는 네트워크 링크에 의해 직접 로드되었거나 후속 원본 문서 업데이트에 의해 로드되었을 수 있습니다.

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

다음에 의해 포함

<Url>

참고: 이 요소는 KML 출시 2.1부터 지원 중단되었으며 지역의 추가 기능을 제공하는 <링크>로 대체되었습니다. <Url> 태그가 Google 어스에서 계속 작동하지만 최신 <Link> 태그를 사용하는 것이 좋습니다.

이 요소는 KML 파일 링크의 위치를 설정하고 서버 및 뷰어 변경사항의 새로고침 옵션을 정의하며 서버에 유용한 클라이언트 정보를 제공하기 위해 변수를 채우는 데 사용합니다.

맨 위로