חומר עזר של KML

הקטע הזה מכיל הפניה אלפביתית לכל רכיבי ה-KML שמוגדרים ב-KML בגרסה 2.2, וגם לרכיבים במרחב השמות של תוסף Google. עץ המחלקה עבור רכיבי KML מוצג בהמשך. בתרשים הזה, אלמנטים משמאל לענף מסוים בעץ הם תוספים של הרכיבים משמאלם. לדוגמה, 'סמן' הוא סוג מיוחד של תכונה. הוא מכיל את כל הרכיבים ששייכים לתכונה, והוא מוסיף מספר אלמנטים ספציפיים לרכיב ה-placeholder.

KML הוא תקן פתוח שנקרא רשמית OpenGIS® KML Encoding Standard (OGC KML). היא מתוחזקת על ידי Open Geospatial Consortium, Inc. (OGC). המפרט המלא של OGC KML זמין בכתובת http://www.opengeospatial.org/standards/KML/ .

סכימת ה-XML המלאה עבור KML נמצאת בכתובת http://schemas.opengis.net/KML/ .

הערה: לוחצים על שם של רכיב בתרשים הזה כדי לדלג אל הערך שלו בקטע ההפניה.

תרשים של עץ כיתה רכיב אובייקט (הורה) gx:רכיב סיור; צאצא של תכונה אלמנט NetworkLink; צאצא של תכונה רכיב של סמן; צאצא של תכונה רכיב של שכבת-על; צאצא של תכונה רכיב מאגר, צאצא של תכונה רכיב תכונה רכיב גיאומטרי; צאצא של אובייקט רכיב של שכבת-על; רכיב צאצא ScreenLayer; צאצא של שכבת-על רכיב GroundLayer ; צאצא של שכבת-על רכיב תיקייה; צאצא של גורם מכיל רכיב המסמך; צאצא של גורם מכיל רכיב נקודה; צאצא גיאומטרי אלמנט LineString; צאצא של גיאומטריה אלמנט לינארית; צאצא של גיאומטריה אלמנט קישור: צאצא של אובייקט רכיב סמל; צאצא של קישור רכיב כיוון; צאצא של אובייקט רכיב מיקום; צאצא של אובייקט רכיב קנה המידה; צאצא של אובייקט רכיב מצולע, צאצא של גיאומטריה אלמנט Multiגיאומטריה, צאצא של גיאומטריה אלמנט המודל, צאצא של MultiGeometry gx:רכיב מעקב; צאצא של גיאומטריה אלמנט סגנון; צאצא של StyleSelector gx:רכיב MultiTrack; צאצא של גיאומטריה אלמנט StyleSelector; צאצא של אובייקט אלמנט של סגנון מפה; צאצא של בורר סגנונות רכיב TimePrimitive; צאצא של אובייקט רכיב של TimeSpan; צאצא של TimePrimitive gx:TimeStamp רכיב AssductView; צאצא של אובייקט רכיב המצלמה; צאצא של AbstractView רכיב LookA; צאצא של AbstractView רכיב אזור; צאצא של אובייקט רכיב של לכת; צאצא של אובייקט רכיב LatLonBox; צאצא של אובייקט רכיב LatLonAltBox; צאצא של אובייקט gx:LatLonQuad Element; שבב של אובייקט רכיב של סגנון משנה; שבב אובייקט אלמנט בלון סטיישן; צאצא של SubStyle רכיב ColorStyle; צאצא של SubStyle אלמנט ListStyle; צאצא של SubStyle gx:רכיב TimeSpan; צאצא של TimeSpan רכיב TimeStamp; צאצא של TimePrimitive רכיב LineStyle; צאצא של ColorStyle רכיב של PolyStyle; צאצא של ColorStyle רכיב IconStyle; צאצא של ColorStyle רכיב LabelStyle; צאצא של ColorStyle gx:אלמנט TourPrimitive; אובייקט של אובייקט gx:AnimatedUpdate רכיב gx:FlyTo; צאצא של TurPrimitive gx:רכיב CC; צאצא של TurPrimitive gx:TourControl Element; צאצא של gx:TourPrimitive gx:רכיב המתנה; צאצא של gx:TourPrimitive gx:אלמנט PlayList; צאצא של אובייקט

שימו לב שרכיבים מופשטים (מוצגים בתיבות בתרשים) אינם משמשים בפועל בקובצי KML. ניתן להשתמש בהן בתור רכיב שימושי שמהווה רכיב פרוגרמטי עבור מספר רכיבים נגזרים דומים (אך שונים). הבנת ההיררכיה הממוקדת זו היא גם דרך טובה ללימוד KML, מכיוון שניתן לראות בקלות קבוצות של רכיבים קשורים.

לכל הרכיבים הנגזרים מ-Object ניתן להקצות id. המזהה הזה נמצא בשימוש על ידי מנגנון עדכון KML (ראה <Update>) עבור קבצים שנטענים באמצעות NetworkLink. אפשר להשתמש בה גם בסגנונות משותפים (מידע נוסף בקטע <סגנון>). המזהה הוא מזהה XML סטנדרטי.

מאחר ש-KML הוא תחביר ופורמט קבצים של XML, שמות תגים הם תלויי-רישיות ועליהם להופיע בדיוק כפי שמוצג כאן. אם אתם מכירים את XML, תעניינו גם את סכימת 2.2 KML. בעת עריכה של קובצי טקסט מסוג KML, ניתן לטעון את הסכימה הזו לכל עורך XML ולאמת את קוד ה-KML באמצעותו.

טיפ: הצגה של KML לתכונות של Google Earth

להלן תכונה מועילה של Google Earth המאפשרת להציג בקלות את קובץ ה-KML של כל תכונה. ב-Google Earth, ניתן ללחוץ לחיצה ימנית על תכונה בחלונית 'מקומות' ולהעתיק אותה. כדי להציג את ה-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 מספק מנגנון לתוספים – רכיבים נוספים שמכילים מידע מעבר למה שזמין בתקן (מידע נוסף על מרחבי שמות של XML ב-w3.org). עם ההשקה של Google Earth 5.0, Google סיפקה תוספים ל-KML כדי לתמוך במספר תכונות חדשות. התוספים האלה משתמשים בקידומת gx וב-URI של מרחב השמות הבא:

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

יש להוסיף את ה-URI של מרחב השמות הזה לרכיב <kml> בכל קובץ KML באמצעות רכיבים עם קידומת Gx-:

<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 משתמש בסוגי XML נפוצים כגון boolean, מחרוזת, dual, float, ו-int. בנוסף, הוא מגדיר מספר סוגים של רכיבי שדה. הטבלה הבאה מפרטת כמה מהסוגים הנפוצים ביותר שמוגדרים ב-KML וקישורים לרכיבים לדוגמה שמשתמשים בהם:

סוג השדה ערך שימוש לדוגמה
heightModeEnum clampToGround, היחסיToGround, מוחלט כדאי לעיין במאמרים <LookLook> ו-<Region>
angle90 ערך ≥ 90 ו-≤90 ראו <Latitude> ב<Model>
anglepos90 ערך ≥ 0 ו-≥90 ראו <tilt> ב-<LookAt>
angle180 ערך ≥ 180 ו-≤180 ראו <length> ב-<Model>
angle360 ערך ≥ 360 ו-≤610 אפשר לראות <headline> ב- <Orientation>
צבע [color] ערך הקסדצימליabggrr הצגת רכיבים שמרחיבים את <ColorStyle>
colorModeEnum רגיל, אקראי הצגת רכיבים שמרחיבים את <ColorStyle>
dateTime dateTime, date, gYearMonth, gYear יש לעיין ב<TimeSpan> וב-<TimeStamp>
displayModeEnum ברירת מחדל, הסתרה ראו <BalloonStyle>
gridOrigin lowerleft, topLeft ראו <Photoשכבת על>
refreshModeEnum onChange, onInterval, onExpire יש לעיין בקטע <קישור>
shapeEnum מלבן, גליל, כדור ראו <Photoשכבת על>
styleStateEnum רגיל, הדגשה ראו <Styleמיפוי>
unitsEnum שבר, פיקסלים, insetPixels ראו <hotSpot> ב-<IconStyle> , <ScreenLayer>
vec2 x=double xunits=KML:unitsEnum
y=double yunits=KML:unitsEnum
להצגת <hotSpot> ב-<IconStyle> ,
<ScreenLayer>
viewRefreshEnum אף פעם, onRequest, onStop, OnRegion יש לעיין בקטע <קישור>

 

<AbsstrView>

תחביר

<!-- 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> ו-<LookLook>.

מרחיב

אלמנטים ספציפיים ל-AbsstrView

<gx:ViewerOption>
הרכיב הזה מאפשר מצבי תצוגה מיוחדים ב-Google Earth 6.0 ואילך. יש בו לפחות רכיב צאצא אחד של <gx:option>. הרכיב <gx:option> כולל מאפיין name ומאפיין enabled. המאפיין name מציין את אחד מהבאים: תמונות Street View ("Streetview"), תמונות היסטוריות ("תמונות היסטוריות") ואפקטים של אור שמש בשעה מסוימת ביום ("אור שמש"). המאפיין enabled משמש להפעלה או לכיבוי של מצב תצוגה נתון.
<gx:horizFov>
מגדיר את שדה הראייה האופקי של ה-AbstractView במהלך סיור. לרכיב הזה אין השפעה על AbsrateViews מחוץ לסיור. <gx:horizFov> נוסף באופן אוטומטי על ידי הלקוח של Google Earth (גרסאות 6.1 ואילך) במהלך הקלטת הסיור. ל-AbsrateViews רגילים מוקצה ערך של 60. לצפיות ב-Street View מוקצה 85 לערך שתואם לשדה התצוגה המפורטת הרגיל של Street View ב-Google Earth. לאחר ההגדרה, הערך יוחל על התצוגות המפורטות הבאות עד שיוגדר ערך חדש.

מורחב ב-

<gx:heightMode>

הרכיב הזה הוא הרחבה של תקן OGC KML 2.2 והוא נתמך ב-Google Earth 5.0 ואילך. מידע נוסף

תחביר

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

תיאור

ניתן להשתמש בו במקום ברכיב הסטנדרטי <altitudeMode> של OGC KML, והוא מקבל את הערכים הבאים בנוסף לערכי heightMode רגילים:

  • ערךToSeaFloor - פרשנות של הגובה כערך במטרים מעל קרקעית הים. אם תכונת ה-KML נמצאת מעל הקרקע ולא בים, היא תפורש כגובה מעל פני הקרקע.
  • clampToSeaFloor - מפרט הגובה לא נלקח בחשבון ותכונת KML תמוקם בקרקעית הים. אם תכונת ה-KML נמצאת ביבשה ולא בים, במקום זאת clampToSeaFloor תיצמד לקרקע.

כמו ב-<altitudeMode>, <gx:altitudeMode> משפיע על:

  • קואורדינטות הגובה ברכיב <coordinates>
  • <minAltitude> ו<maxAltitude> בתוך <LatLonAltBox>
  • <altitude> ב-<Location>, ב-<GroundOverlay> וב-AbstractView (<LookAt> ו-<Camera>).

מידע נוסף על מצבי הגובה זמין בפרק מצבי גובה במדריך ל-KML למפתחים.

דוגמה

heightmode_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 Earth 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> שולט בשינויים במהלך סיור בתכונות של KML, באמצעות <Update>. שינויים בתכונות של KML לא ישנו את ה-DOM - כלומר, כל שינוי יבוטל כאשר הסיור יסתיים, ולא יישמר ב-KML בכל עת.

הערך של <gx:AnimatedUpdate> צריך גם לכלול ערך <gx:duration> כדי לציין את משך הזמן בשניות שבמהלכו העדכון מתבצע. שדות של מספרים שלמים, צפים וצבעים מונפשים בצורה חלקה מהערך המקורי לאורך החדש. ערכים בוליאניים, מחרוזת וערכים אחרים שאינם נותרים אינטרפולציה מתעדכנים בסוף משך הזמן.

מידע נוסף על <gx:AnimatedUpdate> ועל ציר הזמן של הסיור זמין בקטע סיורים בציר הזמן בפרק סיור במדריך למפתחים של KML.

<gx:duration>
ההגדרה קובעת את משך הזמן (בשניות) שבו יתבצע העדכון.
<gx:delayedStart>
אפשרות זו מציינת את מספר השניות להמתנה (לאחר מיקום ההתחלה בשורה) לפני התחלת העדכון.

דוגמה

הדוגמה הבאה ממחישה שינוי בגודל הסמל. האנימציה של השינוי הזה תתבצע במהלך 5 שניות.

musicupdate_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 Earth.

רכיבים ספציפיים לבלון

<bgColor>
צבע הרקע של הבלון (אופציונלי). ערכי צבע ושקיפות (אלפא) באים לידי ביטוי בייצוג הקסדצימלי. טווח הערכים של כל צבע הוא 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. ברירת המחדל היא אטום לבנה (fff).

הערה: השימוש ברכיב <color> בתוך <BalloonStyle> הוצא משימוש. יש להשתמש במקום זאת ב-<bgColor>.

<textColor>
צבע החזית של הטקסט. ערך ברירת המחדל הוא שחור (ff000000).
<text>
טקסט מוצג בבלון. אם לא מצוין טקסט, Google Earth מצייר את בלון ברירת המחדל (התכונה <name> בגופן מודגש, התכונה <description>, קישורים למסלולי נסיעה, רקע לבן וזנב שמצורף לקואורדינטות של הנקודה עבור הפריט, אם צוינו).
אפשר להוסיף ישויות לתג <text> באמצעות הפורמט הבא כדי להפנות לרכיב צאצא של תכונה: $[name], $[description], $[address], $[id], $[קטע]. Google Earth מחפש בתכונה הנוכחית את יישות המחרוזת המתאימה ומחליף את המידע הזה בבלון. כדי לכלול כאן כאן - מכאן מסלול נהיגה בבלון, יש להשתמש בתג $[geDIRECTION]. כדי שקישורים למסלול הנסיעה לא יופיעו בבלון, יש לכלול את הרכיב <text> עם תוכן מסוים, או ב-$[description] כדי להחליף את מאפיין התכונה הבסיסי <description>.
לדוגמה, בקטע ה-KML הבא, השדות $[name] ו-$[description] יוחלפו בשדות <name> ו-<description> שנמצאים ברכיבי הפיצ'רים שמשתמשים בבלון הזה: בלון סגנון
<displayMode>
אם <displayMode> הוא ברירת מחדל, Google Earth משתמש במידע שסופק ב-<text> כדי ליצור בלון . אם <displayMode> הוא הסתרה, הבלון לא מוצג ב-Google Earth. ב-Google Earth, לחיצה על סמל תצוגת הרשימה עבור סמן שה-<displayMode> הבלון שלו מוסתר גורם ל-Google Earth לטוס אל הסמן.

דוגמה

<?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:תגים!

הרכיב הזה הוא הרחבה של תקן OGC KML 2.2 והוא נתמך ב-Google Earth 5.0 ואילך. מידע נוסף

תחביר

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

תיאור

החלפת מצב של הצגת בלון תיאור. יש לזהות את הבלון שיש לעדכן באמצעות מזהה ה-XML של האובייקט (למשל, <Placemark targetId="xxx">).

דוגמאות

בדוגמה הראשונה מוצג <gx:balloonVisibility> עם סמן. כשהסמן נטען, בלון התיאור נפתח.
oonהרשאות_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">

  <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> במסגרת סיור. במהלך הסיור נפתחים מספר בלונים וסוגרים אותם, ומספקים מידע לצופה.
oonהרשאה_tourexample.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 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> 

תיאור

מגדירה את המצלמה הווירטואלית שמציגה את הסצנה. רכיב זה מגדיר את המיקום של המצלמה ביחס לפני השטח של כדור הארץ, וכן את כיוון התצוגה של המצלמה. המיקום של המצלמה מוגדר באמצעות הערכים <length>, <width>, <height>, ו-<heightMode> או <gx:heightMode>. כיוון הצפייה של המצלמה מוגדר על ידי <headline> , <tilt> ו-<roll>. <Camera> יכול להיות רכיב צאצא של כל תכונה או של <NetworkLinkControl> א. רכיב אב לא יכול להכיל גם את < a וגם את הרכיב < ב-a ולא את שניהם.

<מצלמה> מספקת שליטה מלאה של שש מעלות של חופש על התצוגה, כך שניתן למקם את המצלמה בחלל ולאחר מכן לסובב אותה סביב הציר X , Y וציר Z. והכי חשוב, תוכלו להטות את תצוגת המצלמה כך שתביטו מעל האופק לשמיים.

<מצלמה> יכולה גם להכיל TimePrimitive (<gx:TimeSpan> או <gx:TimeStamp>). ערכי זמן במצלמה משפיעים על תמונות היסטוריות, אור שמש ותצוגה של תכונות עם חותמת זמן. למידע נוסף, קראו את המאמר זמן עם AbsductViews בפרק זמן ואנימציה במדריך למפתחים.

הגדרת תצוגה

בתוך פיצ'ר או <NetworkLinkControl>, משתמשים באובייקט <Camera> או באובייקט <LookAt> (אבל לא בשניהם באותו אובייקט). האובייקט <Camera> מגדיר את נקודת המבט במונחים של המיקום והכיוון של הצופה. האובייקט <Camera> מאפשר לציין תצוגה שאינה בפני השטח של כדור הארץ. האובייקט <LookAt> מגדיר את נקודת המבט במונחים של צפיות. האובייקט <LookAt> מוגבל יותר מהיקף ה-<Camera> שלו, ובדרך כלל יש צורך שהכיוון של התצוגה חוצה את פני השטח של כדור הארץ.

בתרשים הבא מוצגים הצירים X , Y ו-Z, המחוברים למצלמה הווירטואלית.

  • ציר ה-X מפנה לכיוון ימין של המצלמה ונקרא וקטור ימני.
  • ציר Y מגדיר את הכיוון "למעלה" ביחס למסך ונקרא וקטור למעלה.
  • ציר Z פונה ממרכז המסך לכיוון נקודת העין. המצלמה מסתכלת למטה בציר -Z, שנקרא וקטור התצוגה.

סדר הטרנספורמציות

סדר הסיבוב חשוב. כברירת מחדל, המצלמה מסתכלת ישר למטה, על ציר ה-Z לכיוון כדור הארץ. לפני שמבצעים סיבובים, המצלמה מתורגמת לאורך ציר ה-Z כ-<height>. סדר הטרנספורמציות הוא:

  1. <altitude> – תרגום לאורך הציר Z עד ל<height>
  2. <heading> – סיבוב מסביב לציר Z.
  3. <tilt> – סיבוב סביב ציר ה-X.
  4. <roll> – סיבוב סביב ציר Z (שוב).

חשוב לזכור שבכל פעם שמחילים סיבוב, שני מהצירים של המצלמה משנים את הכיוון שלהם.

רכיבים ספציפיים למצלמה

<קו אורך>
קו האורך של המצלמה הווירטואלית (נקודת מבט). מרחק זוויתי במעלות, יחסית לקו האורך הראשי. הערכים ממערב לקו האורך נעים בין 180- ל-0 מעלות. הערכים ממזרח לטווח מרידיאן נעים בין 0 ל-180 מעלות.
<קו רוחב>
קו הרוחב של המצלמה הווירטואלית. מעלות מצפון או מדרום לקו המשווה (0 מעלות). הערכים נעים בין 90- לבין 90 מעלות.
<גובה>
המרחק של המצלמה מפני השטח של כדור הארץ, במטרים. התרגום מתורגם בהתאם ל-<heightMode> של המצלמה או ל-<gx:heightMode>.
<כותרת>
כיוון (מקרא) של המצלמה, במעלות. ברירת מחדל 0 (צפון אמיתי). (ראו תרשים). הערכים נעים בין 0 ל-360 מעלות.
<הטיה
סיבוב, במעלות, של המצלמה סביב ציר X. הערך 0 מציין שהתצוגה מכוונת ישירות אל כדור הארץ (התרחיש הנפוץ ביותר). ערך של 90 עבור <tilt> מציין שהתצוגה מכוונת לאופק. ערכים גדולים מ-90 מציינים שהנוף פונה לשמיים. הערכים של <tilt> מוגבלים ב-180 מעלות.
<רול>
סיבוב, במעלות, של המצלמה סביב ציר Z. הערכים נעים בין 180- לבין 180+ מעלות.
<heightMode>
ההגדרה קובעת איך יתפרש ה<height> שצוין עבור המצלמה. הערכים האפשריים הם:
  • ערך Toיחסות - (ברירת מחדל) מפרש את <גובה> כערך במטרים מעל לקרקע. אם הנקודה גבוהה ממים, ה<height> יתפרש כערך במטרים מעל פני הים. ניתן לראות בהמשך את הקוד <gx:heightMode> כדי לציין נקודות יחסית לקרקעית הים.
  • clampToGround – בהגדרה של מצלמה, ההגדרה הזו גם מציבה את המצלמה יחסית(הקרקע), כי אם מציבים את המצלמה בדיוק בגובה פני השטח, העין תחתוך את פני השטח (והיא תיחסם).
  • מוחלט - מפרש את <height> כערך במטרים מעל פני הים.
<gx:heightMode>
תוסף KML במרחב השמות של תוסף Google, ומאפשר גבהים ביחס לקרקעית הים. הערכים הם:
  • ערךToSeaFloor – מפרש את <height> כערך במטרים מעל קרקעית הים. אם הנקודה נמצאת מעל הקרקע במקום הים, ה-<height> יתפרש כמעל לפני הקרקע.
  • clampToSeaFloor – המערכת מתעלמת ממפרט <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. הוא מספק רכיבים לציון הצבע ומצב הצבע של סוגי סגנונות מורחבים.

רכיבים ספציפיים לצבע

<צבע>
ערכי הצבע והשקיפות (אלפא) באים לידי ביטוי בהקסדצימלי. טווח הערכים של כל צבע הוא 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> הם רגיל (ללא השפעה) ו-random. ערך של אקראי מחיל קנה מידה לינארי אקראי על הבסיס <color> באופן הבא.
  • כדי לקבל מבחר אקראי של צבעים, יש לציין בסיס <color> לבן (ffff).
  • אם תציינו רכיב צבע יחיד (לדוגמה, ערך של ff0000ff עבור red), ייבחרו ערכי צבע אקראיים עבור אותו רכיב (אדום). במקרה הזה, הערכים יהיו בין 00 (שחור) ל-ff (אדום מלא).
  • אם תציינו ערכים לשניים או לכל שלושת רכיבי הצבע, סולם לינארי אקראי יוחל על כל רכיב צבע, עם תוצאות הנעות בין שחור לערכים המקסימליים שצוינו עבור כל רכיב.
  • מידת השקיפות של צבע מגיעה מרכיב האלפא של <color> ואף פעם אינה אקראית.

מרחיב

מורחב ב-

חזרה למעלה

<מאגר>

תחביר

<!-- 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 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. הגדרת כל הסגנונות במסמך. יש להקצות מזהה ייחודי לכל סגנון.
  2. בתוך פיצ'ר מסוים או 'סגנון מפה', יש להפנות למזהה הסגנון באמצעות רכיב <styleUrl>.

לתשומת ליבכם: התכונות במסמך לא עוברות בירושה לתכונות שבמסמך.

כל תכונה חייבת להפנות במפורש לסגנונות שבהם היא משתמשת ברכיב <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>

מרחיב

השירים הכלולים

  • 0 אלמנטים או יותר נגזרים מהמאפיין <Feature>
  • 0 או יותר רכיבים שנגזרים מ-<StyleSelector>
  • 0 או יותר רכיבים שנגזרים מ-<Schema>

חזרה למעלה

<gx:duration>

הרכיב הזה הוא הרחבה של תקן OGC KML 2.2 והוא נתמך ב-Google Earth 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 (NetworkLink, Placemark, LayerLayer, PhotoLayer, ScreenLayer, מסמך, תיקייה). טכניקות אלה

  • הוספת צמדי נתונים/ערכים שאינם מסוג מסוים באמצעות הרכיב <Data> (בסיסי)
  • הצהרה על שדות חדשים שהוקלדו באמצעות הרכיב <Schema>, ולאחר מכן ביצוע מימון שלהם באמצעות הרכיב <SchemaData> (מתקדם)
  • הפניה לרכיבי XML שמוגדרים במרחבי שמות אחרים באמצעות התייחסות למרחב השמות החיצוני בקובץ ה-KML (בסיסי)

ניתן לשלב את הטכניקות האלו בקובץ KML יחיד או בתכונה יחידה, לחלקי נתונים שונים.

למידע נוסף, עיינו בקטע הוספת נתונים מותאמים אישית בקטע "נושאים ב-KML".

רכיבים ספציפיים ל-ExtendedData

<שם הנתונים ="string">
יוצר צמד של שם/ערך שלא הוקלד. השם יכול ליצור שתי גרסאות: name ו-displayName. המאפיין name משמש לזיהוי צמד הנתונים בקובץ ה-KML. הרכיב displayName מוצג כאשר שם בפורמט תקין, עם רווחים ועיצוב HTML, מוצג ב-Google Earth. ברכיב <text> של <BalloonStyle>, הסימון $[name/displayName] מוחלף ב-<displayName>. אם מחליפים את ערך המאפיין name של הרכיב <Data> בפורמט הזה (לדוגמה, $[threadYardage], ערך המאפיין יוחלף ב-name/value
<displayName>
גרסה אופציונלית של name, שתשמש למטרות תצוגה.
<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>
<SchemaDataSchemaUrl="anyURI">
אלמנט זה משמש בשילוב עם <Schema> כדי להוסיף נתונים מותאמים אישית שהוזנו לתכונת KML. הרכיב Schema (שמזוהה על ידי המאפיין schemaUrl) מצהיר על סוג הנתונים בהתאמה אישית. אובייקטי הנתונים בפועל ('מופעים' של הנתונים המותאמים אישית) מוגדרים באמצעות הרכיב SchemaData.
ה-<schemaURL> יכול להיות כתובת URL מלאה, הפניה למזהה סכימה שמוגדר בקובץ KML חיצוני או הפניה למזהה סכימה שמוגדר באותו קובץ KML. כל המפרטים הבאים מקובלים:
schemaUrl="http://host.com/PlacesIHaveLived.kml#my-schema-id"
schemaUrl="AnotherFile.kml#my-schema-id"
schemaUrl="#schema-id"   <!-- same file -->
הרכיב Schema הוא תמיד צאצא של Document. הרכיב ExtendedData הוא צאצא של הפיצ'ר שמכיל את הנתונים המותאמים אישית.
<SimpleData name="string">
הרכיב הזה מקצה ערך לשדה הנתונים בהתאמה אישית שמזוהה על ידי המאפיין name. הסוג והשם של שדה הנתונים המותאם אישית הזה מוצהר ברכיב <Schema>.
דוגמה להגדרת שני אלמנטים של נתונים בהתאמה אישית:
<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 Earth לא נעשה בהם שימוש כלשהו. הוא תמיד נשמר יחד עם הקובץ.
הדוגמה הבאה מוצגת עם הקידומת של מרחב השמות "camp":
<ExtendedData xmlns:prefix="camp">
<camp:number>14</camp:number>
<camp:parkingSpaces>2</camp:parkingSpaces>
<camp:tentSites>4</camp:tentSites>
</ExtendedData>

נמצא ב

ראו בנוסף

<תכונה>

תחביר

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

רכיבים ספציפיים לתכונה

<name>
טקסט בהגדרת המשתמש שמוצג במציג התלת-ממד כתווית של האובייקט (לדוגמה, עבור סמן, תיקייה או NetworkLink).
<חשיפה>
ערך בוליאני. המדיניות הזו קובעת אם התכונה תוצג במציג התלת-ממד כשהיא תיטען בפעם הראשונה. כדי שתכונה מסוימת תהיה גלויה, יש להגדיר גם את התג <visible> של כל ישות האב שלה ל-1. בתצוגת הרשימה של Google Earth, לכל תכונה יש תיבת סימון שמאפשרת למשתמש לשלוט בחשיפה של התכונה.
<פתיחה>
ערך בוליאני. מציין אם מסמך או תיקייה מופיעים כסגורים או פתוחים בעת הטעינה הראשונה שלהם בלוח מקומות. 0=מכווץ (ברירת המחדל), 1=מורחב. כדאי לעיין גם ב-<ListStyle>. הרכיב הזה חל רק על מסמך, תיקייה ו-NetworkLink.
<atom:author>

KML 2.2 תומך ברכיבים חדשים להכללת נתונים על המחבר ועל אתר קשור בקובץ ה-KML. מידע זה מוצג בתוצאות של חיפוש גיאוגרפי, הן בדפדפני Google Earth כגון Google Earth והן באפליקציות אחרות כגון מפות Google. רכיבי האיות שמופיעים ב-KML הם:

  • הרכיב atom:author – רכיב הורה של atom:name
  • הרכיב atom:name – שם המחבר
  • הרכיב atom:link – מכיל את המאפיין href
  • המאפיין href - כתובת ה-URL של דף האינטרנט שמכיל את קובץ ה-KML/KMZ

רכיבים אלה מוגדרים בפורמט ההפצה של Atom. המפרט המלא נמצא בכתובת http://atompub.org. (תוכלו לעיין בדוגמה שבהמשך).

הרכיב <atom:author> הוא רכיב האב של <atom:name>, והוא מציין את המחבר של תכונת ה-KML.

<atom:link href="..." >
מציין את כתובת האתר של קובץ ה-KML או ה-KMZ. יש להקפיד לכלול את מרחב השמות של הרכיב הזה בכל קובץ KML שמשתמש בו: xmlns:atom="http://www.w3.org/2005/Atom" (בדוגמה שבהמשך).
<address>
ערך מחרוזת שמייצג כתובת לא מובנית שנכתבה כרחוב רגיל, עיר, כתובת של מדינה ו/או מיקוד. ניתן להשתמש בתג <address> כדי לציין את המיקום של נקודה במקום להשתמש בקואורדינטות של קווי אורך ורוחב. (עם זאת, אם מסופקת <Point>, היא מקבלת עדיפות על פני <address>). כדי לבדוק אילו לוקאלים נתמכים עבור התג הזה ב-Google Earth, יש לעבור אל העזרה של מפות Google.
<xal:AddressDetails>
כתובת מובנית בפורמט xAL או שפת כתובות eXtenible, תקן בינלאומי לעיצוב כתובות. <xal:AddressDetails> משמש את KML לקידוד גיאוגרפי במפות Google בלבד. פרטים נוספים זמינים בתיעוד של API של מפות Google. בשלב זה, מערכת Google Earth לא משתמשת ברכיב הזה. במקומה יש להשתמש ב-<address>. חשוב לכלול את מרחב השמות של הרכיב הזה בכל קובץ KML שמשתמש בו: xmlns:xal="urn:oasis:names:tc:ciq:xsdschema:xAL:2.0"
<phoneNumber>
ערך מחרוזת שמייצג מספר טלפון. רכיב זה משמש את מפות Google לנייד בלבד. תקן התעשייה עבור טלפונים סלולריים התומכים ב-Java הוא RFC2806.
למידע נוסף, ראו http://www.ietf.org/rfc /rfc2806.txt
<קטע maxLines="2" >
תיאור קצר של התכונה. ב-Google Earth, התיאור הזה מוצג בחלונית 'מקומות' מתחת לשם העצם. אם לא יסופק קטע קוד, ייעשה שימוש בשתי השורות הראשונות של ה-<description>. ב-Google Earth, אם סימון מקום מכיל גם תיאור וגם קטע מידע, התג <snippet> מופיע מתחת לסמן בחלונית 'מקומות' וה-<description> מופיע בבלון התיאור של הסמן. התג הזה לא תומך בתגי עיצוב של HTML. ב-<snippet> יש מאפיין maxLines, מספר שלם שמציין את מספר השורות המקסימלי להצגה.
<description>

תוכן שסופק על ידי משתמשים ומופיע בבלון התיאור.

התוכן הנתמך עבור הרכיב <description> השתנה מ-Google Earth 4.3 ל-5.0. בהמשך מופיע מידע ספציפי על כל אחת מהגרסאות, ולאחר מכן מידע שמשותף לשניהם.

Google Earth 5.0

Google Earth 5.0 (ואילך) תומך בתוכן טקסט פשוט, וכן ב-HTML מלא וב-JavaScript, בתוך בלוני תיאור. התוכן של תג התיאור מוצג על ידי מנוע דפדפן האינטרנט WebKit בקוד פתוח, ומוצג כמו בכל דפדפן מבוסס WebKit.

הגבלות כלליות

בדרך כלל אסור לכלול קישורים לקבצים מקומיים. הדבר מונע מקוד זדוני להזיק למערכת שלך או לגשת לנתונים שלך. אם ברצונך להעניק גישה למערכת הקבצים המקומית, עליך לבחור באפשרות העדפות > אישור גישה לקבצים מקומיים ומידע אישי. קישורים לקובצי תמונה במערכת הקבצים המקומיים מותרים תמיד, אם הם נכללים בתג <img>.

ניתן לגשת לתוכן שדחוס בקובץ KMZ, גם במערכת הקבצים המקומית.

קובצי cookie מופעלים, אך למטרות של אותה מדיניות כמו מקור, התוכן המקומי אינו משתף דומיין עם תוכן אחר (כולל תוכן מקומי אחר).

HTML

עיבוד ה-HTML מתבצע ברוב המקרים, כפי שהוא נראה בכל דפדפן של WebKit.

המערכת מתעלמת מיעדים כשכוללים אותם ב-HTML הכתוב ישירות בקובץ ה-KML. כל הקישורים האלה נפתחים כאילו היעד מוגדר כ- _blank. המערכת תתעלם מכל יעד שצוין.

עם זאת, HTML שנמצא ב-iFrame או שנוצר באופן דינמי באמצעות JavaScript או DHTML, ישתמש ב-target="_self" כברירת המחדל. ניתן לציין יעדים אחרים והם נתמכים.

לא ניתן לטרגט לתוכן של קובצי KMZ, קישורי עוגן מקומיים ושיטות ;flyto מ-HTML שמכיל iFrame.

אם המשתמש מציין את width="100%" לרוחב של iFrame, הרוחב של ה-iFrame תלוי בכל התוכן האחר בבלון – יש להתעלם ממנו במהלך חישוב גודל הפריסה. הכלל הזה חל גם על כל רכיב בלוק אחר גם בתוך הבלון.

JavaScript

רוב קובצי ה-JavaScript נתמכים. לא ניתן ליצור תיבות דו-שיח – פונקציות כמו alert() ו-Prompt() לא יוצגו. עם זאת, הם ייכתבו למסוף המערכת, כמו גם שגיאות וחריגים אחרים.

שירות CSS

מותר להשתמש בשירות CSS. כמו שירות CSS בדפדפן אינטרנט רגיל, ניתן להשתמש ב-CSS כדי לעצב טקסט, רכיבי דף ולשלוט בגודל ובמראה של בלון התיאור.

Google Earth 4.3

הרכיב <description> תומך בטקסט פשוט ובקבוצת משנה של רכיבי HTML, כולל טבלאות (ראו דוגמה ל-KML בהמשך). הוא אינו תומך בטכנולוגיה אחרת מבוססת-אינטרנט, כגון סימון דף דינמי (PHP, JSP, ASP), שפות סקריפטים (VBScript, JavaScript) או שפות אפליקציה (Java, Python). בגרסה 4.2 של Google Earth, יש תמיכה בווידאו. (דוגמה למטה).

מידע נפוץ

אם התיאור לא מכיל תגי עיצוב של HTML, מערכת Google Earth תנסה לעצב אותו תוך החלפת שורות חדשות ב-<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> מכיל מאפיין href שמציין כתובת URL.

אם ה-href הוא קובץ KML ויש לו סיומת קובץ מסוג .KML או .kmz, מערכת Google Earth תטען את הקובץ ישירות כשהמשתמש ילחץ עליו. אם כתובת ה-URL מסתיימת בסיומת שאינה ידועה ל-Google Earth (לדוגמה, .html), כתובת ה-URL נשלחת לדפדפן.

ה-href יכול להיות כתובת URL של שבר (כלומר, כתובת URL עם סימן # ואחריו מזהה KML). כאשר המשתמש לוחץ על קישור שכולל כתובת אתר של קטע, הדפדפן כברירת מחדל טס אל הפריט שהמזהה שלו תואם למקטע. אם הפיצ'ר 'רכיב LookA' או 'מצלמה' מוצג, ה'צפייה' מופיעה מנקודת המבט שצוינה.

יש לציין את ההתנהגות עוד יותר על ידי הוספת אחת משלוש המחרוזות הבאות לכתובת ה-URL של המקטע:

  • ;flyto (ברירת מחדל) - טוס אל התכונה
  • ;כדור פורח - פתח את בלון העצם אך לא טס אל התכונה
  • ;oonFlyto - פתיחת בלון העצם וטיסה אל התכונה

לדוגמה, הקוד הבא מציין שיש לפתוח את הקובץ CraftsFairs.KML, לטוס לסמן שמכיל את המזהה "Albuquerque" ולפתוח את הבלון שלו:

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

המאפיין type משמש ברכיב <a> כאשר ה-href לא מסתיים ב- .KML או ב- .kmz, אבל יש לפרש את ההפניה בהקשר של KML. מציינים את הפרטים הבאים:

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

לדוגמה, כתובת ה-URL הבאה משתמשת במאפיין type כדי להודיע ל-Google Earth שעליו לנסות לטעון את הקובץ, למרות שסיומת הקובץ היא .php:

<a href="myserver.com/cgi-bin/generate-kml.php#placemark123"
   type="application/vnd.google-earth.kml+xml">
<AbstractView>
הגדרה של נקודת מבט המשויכת לכל רכיב שנגזר מהתכונה. עיינו בקטעים <מצלמה> ו<הבטה>.
<TimePrimitive>
משייך את התכונה הזו לתקופת זמן (<TimeSpan>) או לנקודת זמן (<TimeStamp>).
<styleUrl>
כתובת URL של <Style> או <Styleמיפוי> שמוגדרת במסמך. אם הסגנון הוא באותו קובץ, משתמשים בהפניה בפורמט #. אם הסגנון מוגדר בקובץ חיצוני, צריך להשתמש בכתובת URL מלאה עם הפניה אחת. לדוגמה:
<styleUrl>#myIconStyleID</styleUrl>
<styleUrl>http://someserver.com/somestylefile.xml#restaurant</styleUrl>
<styleUrl>eateries.kml#my-lunch-spot</styleUrl>
<StyleSelector>
ניתן להגדיר סגנון אחד או יותר של 'סגנונות' ו'סגנון מפות' כדי להתאים אישית את המראה של כל רכיב הנובע מהתכונות או מהגאומטריה בסמן. (ראו <BalloonStyle>, <ListStyle>, <StyleSelector>, וסגנונות שנגזרים מ-<ColorStyle>.) סגנון המוגדר בתוך פיצ'ר נקרא "סגנון מוטבע" וחלים רק על הפיצ'ר שמכיל אותו. סגנון שמוגדר כצאצא של <מסמך> נקרא "סגנון משותף". סגנון משותף חייב לכלול id. למזהה הזה יש הפניה של תכונה אחת או יותר ב-<Document>. במקרים שבהם רכיב סגנון מוגדר גם בסגנון משותף וגם בסגנון מוטבע עבור תכונה מסוימת - תיקיה, יבשת שכבת-על, NetworkLink , Placemark או ScreenLayer - הערך של הסגנון המוטמע של התכונה מקבל קדימות על פני הערך של הסגנון המשותף.
<אזור>
הפיצ'רים והגיאומטריה שמשויכים לאזור משורטטים רק כשהאזור פעיל. יש לעיין ב<אזור>.
<מטא-נתונים>
<ExtendedData>
מאפשר לך להוסיף נתונים מותאמים אישית לקובץ KML. הנתונים האלה יכולים להיות (1) נתונים שמפנים לסכימת XML חיצונית, (2) צמדי נתונים/ערכים שלא הוקלדו או (3) נתונים שהוזנו. תכונת KML נתונה יכולה להכיל שילוב של הסוגים האלה של נתונים מותאמים אישית.

דוגמה לשימוש ברכיבי HTML בתיאור

דוגמה זו ממחישה את הקבוצה המלאה של רכיבי HTML הנתמכים על ידי הרכיב <description> ב-Google Earth 4.3. Google Earth 5.0 ואילך תומך ב-HTML מלא וב-JavaScript.

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

שימוש לדוגמה ברכיבי תסריט

דוגמה זו מציגה שימוש ברכיבי <atom:author>, <atom:name> ו-<atom:link> ממרחב השמות Atom. לתשומת לבך, עליך להפנות למרחב שמות זה בתוך הרכיב <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>

סרטון לאימון המודל

דוגמה זו מדגימה כיצד ניתן להטמיע סרטון Flash בתוך הבלון.

<?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 Earth 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> מציין נקודה במרחב שאליו יטוס הדפדפן במהלך סיור. עליה להכיל רכיב AssductView אחד, והיא צריכה להכיל רכיבי <gx:duration> ו-<gx:flyToMode> שמציינים את משך הזמן שיידרש כדי לטוס אל הנקודה הנוכחית מהנקודה הנוכחית, ואת שיטת הטיסה, בהתאמה.

<gx:flyToMode>

יש שני ערכים מותרים עבור <gx:flyToMode>: חלק ו-עזיבה.

  • פריטי TomToo חלקים מאפשרים טיסה ללא הפרעה מנקודה אחת לאחרת (וכן הלאה). סדרה שלמה של טיסות ישירות ללא הפסקות תתחיל ומסתיימת במהירות אפסית, ולא תאט בכל נקודה. סדרה של רכיבי ToTos חלקים מפורסמת באמצעות אחד או יותר מהרכיבים הבאים:
    • <gx:flyToMode>bounce</gx:flyToMode>
    • <gx:Wait>
    המשמעות היא שהמהירות תהיה אפס ב-FloTo החלקית שמיד לפני הרכיבים שלמעלה. סדרה של טיסות ישירות ללא תקלות אינה כוללת רכיבים של <gx:AnimatedUpdate>.

  • קפיצות ב-FtoTos מתחילות ומסתיימות באפס אפסים.

דוגמה

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

מרחיב

השירים הכלולים

<גיאומטריה>

תחביר

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

תיאור

זהו רכיב מופשט ולא ניתן להשתמש בו ישירות בקובץ KML. היא מספקת אובייקט placeholder עבור כל האובייקטים הגיאומטריים הנגזרים.

מרחיב

מורחב ב-

<שכבת-על>

תחביר

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

תיאור

רכיב זה מצייר שכבת-על של תמונה המשורטטת על פני השטח. הצאצא <href> של <Icon> מציין את התמונה שתשמש כשכבת-על. הקובץ יכול להיות במערכת קבצים מקומית או בשרת אינטרנט. אם רכיב זה יושמט או שאינו מכיל <href>, המלבן יצויר באמצעות הצבע וגבולות LatLonBox שהוגדרו על ידי שכבת-העל של האדמה.

רכיבים ספציפיים לשכבת-על

<גובה>
מציין את המרחק מעל פני השטח של כדור הארץ, במטרים, ומתורגם בהתאם למצב הגובה.
<heightMode>
מציין את האופן שבו <height> מפורש. הערכים האפשריים הם
  • clampToGround - (ברירת מחדל) מציין את התעלמות ממפרט הגובה ומכסה את שכבת-העל מעל לפני השטח.
  • מוחלט - מגדיר את הגובה של שכבת-העל ביחס לפני הים, ללא קשר לגובה פני השטח בפועל של האלמנט. לדוגמה, אם הגדרת גובה של שכבת-על ל-10 מטרים במצב גובה מוחלט, שכבת העל תיראה בגובה פני הקרקע אם פני השטח שמתחת גם הם 10 מטרים מעל פני הים. אם פני השטח נמצאים 3 מטרים מעל פני הים, שכבת העל תופיע מעל פני השטח ב-7 מטרים.
<gx:heightMode>
תוסף KML במרחב השמות של תוסף Google, ומאפשר גבהים ביחס לקרקעית הים. הערכים הם:
  • ערךToSeaFloor – מפרש את <height> כערך במטרים מעל קרקעית הים. אם הנקודה נמצאת מעל הקרקע במקום הים, ה-<height> יתפרש כמעל לפני הקרקע.
  • clampToSeaFloor – המערכת מתעלמת מהמפרט <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 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> הנדרש מגדיר את מיקום התמונה שישמש כשכבת-על או כסמל של הסמן. המיקום הזה יכול להיות על מערכת קבצים מקומית או על שרת אינטרנט מרוחק. הרכיבים <gx:x> , <gx:y> , <gx:w> ו-<gx: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>
לתיאור של <refreshMode> ורכיבים אחרים המפורטים בהמשך, יש לעיין בכתובת <Link>.
<refreshInterval>
<viewRefreshMode>
<viewRefreshTime>
<viewBoundScale>
<viewFormat>
<httpQuery>

נמצא ב

<IiconStyle>

תחביר

<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 Earth. הרכיב <Icon> מציין את תמונת הסמל. הרכיב <scale> מציין את קנה המידה של הסמל x, y. הצבע שצוין ברכיב <color> של <IconStyle> משולב עם צבע ה-<Icon>.

רכיבים ספציפיים ל-iconStyle

<משקל>
משנה את גודל הסמל.

הערה: התג <geomScale> הוצא משימוש. אפשר להשתמש במקום זאת ב-<scale>.

<כותרת>
כיוון (כלומר, צפון, דרום, מזרח, מערב) במעלות. ברירת מחדל 0 (צפון). (ראו תרשים). הערכים נעים בין 0 ל-360 מעלות.
<סמל>
סמל מותאם אישית. ב-<IconStyle>, רכיב הצאצא היחיד של <Icon> הוא <href>:
  • <href>: כתובת HTTP או מפרט קובץ מקומי המשמש לטעינת סמל.
<hotSpot x="0.5" y="0.5" xunits="fraction" yunits="fraction">
מציין את המיקום בתוך הסמל המעוגן של <Point> ב-placeholder. ניתן לציין את ערכי x ו-y בשלוש דרכים שונות: כפיקסלים ("pixels"), כשברים של הסמל ("fraction") או כ-פיקסלים מוטבעים ("insetPixels"), שהוא קיזוז בפיקסלים מהפינה השמאלית העליונה של הסמל. אפשר לציין את המיקומים x ו-y בדרכים שונות — לדוגמה, x יכול להיות בפיקסלים ו-y יכול להיות שבר. המקור של מערכת הקואורדינטות נמצא בפינה הימנית התחתונה של הסמל.
  • x - מספר הפיקסלים, רכיב שבר הסמל או קיבוע הפיקסלים שמציין את רכיב ה-x של נקודה על הסמל.
  • y - מספר הפיקסלים, רכיב חלקי של הסמל או קיבוע הפיקסלים שמציין את רכיב ה-y של נקודה על הסמל.
  • xunits – יחידות שבהן צוין הערך x. ערך של שבר מציין שהערך של x הוא חלק קטן מהסמל. ערך של pixels מציין את הערך x בפיקסלים. ערך של insetPixels מציין את הכניסה מהקצה השמאלי של הסמל.
  • yunits – יחידות שבהן צוין הערך y. ערך של שבר מציין שהערך של y הוא חלק קטן מהסמל. ערך של pixels מציין את הערך 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 Earth להצגת הקובץ כנתוני שמיים.

הרכיב <KML> עשוי לכלול גם את מרחב השמות של סכימות XML חיצוניות שמפנות בתוך הקובץ.

אלמנט <KML> בסיסי מכיל 0 או 1 תכונה ו-0 או 1 NetworkLinkControl:

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

תיאור

מציין כיצד <name> של שרטוט מתואר במציג התלת-ממד. אפשר לציין צבע, מצב צבע וקנה מידה מותאמים אישית לתווית (שם).

הערה: התג <labelColor> הוצא משימוש. אפשר להשתמש במקום זאת ב-<LabelStyle>.

ספציפית ל-<LabelStyle>

<משקל>
הגודל של התווית משתנה.

דוגמה

<?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 Earth 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 הנקודות של ריבוע שמגדיר את שטח שכבת-העל. יש לספק בדיוק ארבע כוסות קואורדינטות, כשכל אחת מהן מכילה ערכי נקודות צפות לציון קו האורך וקו הרוחב. צריך להוסיף רווח בין עציצים. אין לכלול רווחים בתוך מילת מפתח. יש לציין את הקואורדינטות בסדר נגד כיוון השעון עם הקואורדינטות הראשונות התואמות לפינה השמאלית התחתונה של התמונה בשכבת-העל. הצורה המתוארת בפינות אלו חייבת להיות קמורה.

אם ערך שלישי יוכנס לכל גוון (הגובה שמייצג אותו), המערכת תתעלם ממנו. הגובה מוגדר באמצעות <altitude> ו-<altitudeMode> (או <gx:altitudeMode>) באורך של <GroundOverlay>. מצבי הגובה המותרים הם מוחלט, clampToGround ו-clampToSeaFloor.

דוגמה

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

מרחיב

נמצא ב

<לינאריRing>

תחביר

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

תיאור

מגדיר מחרוזת קווים סגורה, בדרך כלל הגבול החיצוני של מצולע. אפשר גם להשתמש ב-לינארית כגבול הפנימי של מצולע כדי ליצור חורים במצולע. מצולע יכול להכיל מספר רכיבי <לינאריRing> המשמשים כגבולות פנימיים.

הערה: ב-Google Earth, פוליגון עם <heightMode> של clampToGround עוקב אחר קווים של מיסב קבוע. עם זאת, לינארי (בעצמו) עם <heightMode> של clampToGround עוקב אחר קווים מעוגלים נהדרים.

רכיבים ספציפיים ל-לינארית

<gx:heightOffset>
תוסף KML, במרחב השמות של תוסף Google, שמשנה את האופן שבו מוצגים ערכי הגובה. ההיסט הזה מאפשר לך להזיז את ה-לינארית המלאה למעלה או למטה כיחידה, בלי לשנות את כל ערכי הקואורדינטות הנפרדות שמרכיבות את ה-לינארית. (למרות שה-לינארית מוצג באמצעות ערך היסט הגובה, ערכי הגובה המקוריים נשמרים בקובץ ה-KML). יחידות מידה במטרים.
<extrude>
ערך בוליאני. מציינת אם לחבר את לינארית לקרקע. כדי למתוח את הגיאומטריה הזו, מצב הגובה חייב להיות percentToGround, יחסיToSeaFloor או מוחלט. רק הקודקודים של ה-לינארית נמתחים, לא מרכז הגיאומטריה. הקודקודים נמתחים כלפי המרכז של כדור הארץ.
<tessellate>
ערך בוליאני. מציינת אם לאפשר ל-לינארית לעקוב אחרי פני השטח. כדי להפעיל התאמת אתר, הערך של <heightMode> צריך להיות clampToGround או clampToSeaFloor. רכיבי לינאריות גדולים מאוד צריכים לאפשר יצירת גבולות, כך שהם יתעקפו לעקומה של כדור הארץ (אחרת הם עלולים להיות מתחת לפני הקרקע ולהסתתר).
<heightMode>
ההגדרה קובעת איך רכיבי גובה יתפרשו ברכיב <coordinates>. הערכים האפשריים הם
  • clampToGround - (ברירת המחדל) מציין התעלמות ממפרט הגובה (לדוגמה, בתג <coordinates>).
  • percentToGround - מגדיר את הגובה של האלמנט ביחס לגובה פני הקרקע בפועל של מיקום מסוים. לדוגמה, אם גובה הקרקע של מיקום הוא בדיוק בגובה פני הים והגובה של נקודה מסוימת הוא 9 מטרים, הגובה של הסמל של גובה נקודה הוא 9 מטרים במצב הזה. עם זאת, אם אותו קואורדינטה מוצב על מיקום שבו גובה פני הקרקע הוא 10 מטרים, גובה הקואורדינטות הוא 19 מטרים. בדרך כלל, מצב זה משמש להצבת מוטות טלפון או רכבל סקי.
  • מוחלט - מגדיר את הגובה של הקואורדינטות ביחס לפני הים, ללא קשר לגובה פני השטח מתחת לאלמנט. לדוגמה, אם הגדרת גובה של קואורדינטות ל-10 מטרים במצב גובה מוחלט, הסמל של סמן נקודה יהיה בגובה פני הקרקע אם הוא בגובה 10 מטרים גם מעל פני הים. אם פני השטח נמצאים 3 מטרים מעל פני הים, הסמן יופיע מעל פני השטח ב-7 מטרים. בדרך כלל, השימוש במצב זה מיועד למיקום מטוסים.
<gx:heightMode>
תוסף KML במרחב השמות של תוסף Google, ומאפשר גבהים ביחס לקרקעית הים. הערכים הם:
  • ערךToSeaFloor – מפרש את <height> כערך במטרים מעל קרקעית הים. אם הנקודה נמצאת מעל הקרקע במקום הים, ה-<height> יתפרש כמעל לפני הקרקע.
  • clampToSeaFloor – המערכת מתעלמת מהמפרט <height>, והנקודה תמוקם על קרקעית הים. אם הנקודה נמצאת על הקרקע ולא בים, הנקודה תמוקם על הקרקע.
<קואורדינטות>(חובה)
ארבעה חלוקים או יותר, כל אחד מהם מכיל ערכי נקודות צפות עבור קו אורך, קו רוחב וגובה. הרכיב height הוא אופציונלי. אין לכלול רווחים בתוך מילת מפתח. הקואורדינטות האחרונות חייבות להיות זהות לקואורדינטות הראשונות. קואורדינטות מבוטאות במעלות עשרוניות בלבד.

דוגמה

<?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 כולל דוגמאות של מחרוזות (או נתיבים).

רכיבים ספציפיים ל-LineString

<gx:heightOffset>
תוסף KML, במרחב השמות של תוסף Google, שמשנה את האופן שבו מוצגים ערכי הגובה. ההיסט הזה מאפשר לך להזיז מחרוזת או שורה שלמה למעלה או למטה כיחידה, מבלי לשנות את כל ערכי הקואורדינטות שנכללים שנכללים ב-LineString. (על אף שה-LineString מוצג באמצעות ערך קיזוז הגובה, ערכי הגובה המקוריים נשמרים בקובץ ה-KML). יחידות מידה במטרים.
<extrude>
ערך בוליאני. מציינת אם לחבר את LineString לקרקע. כדי למתוח שורה ב-LineString, מצב הגובה חייב להיות percentToGround, percentToSeaFloor או מוחלט. הקודקודים ב-LineString נפרסים כלפי המרכז של כדור הארץ.
<tessellate>
ערך בוליאני. מציינת אם לאפשר ל-LineString לעקוב אחר פני השטח. כדי להפעיל התאמת אתר, מצב הגובה חייב להיות clampToGround או clampToSeaFloor. מחרוזת מחרוזת גדולה מאוד צריכה לאפשר יצירת גבולות, כך שהם יעקפו את העקומה של כדור הארץ (אחרת הם עלולים להיות מתחת לפני השטח ולהסתתר).
<heightMode>
ההגדרה קובעת איך רכיבי גובה יתפרשו ברכיב <coordinates>. הערכים האפשריים הם
  • clampToGround - (ברירת מחדל) מציין התעלמות ממפרט הגובה (לדוגמה, בתג <coordinates>).
  • percentToGround - מגדיר את הגובה של האלמנט ביחס לגובה פני הקרקע בפועל של מיקום מסוים. לדוגמה, אם גובה הקרקע של מיקום הוא בדיוק בגובה פני הים והגובה של נקודה מסוימת הוא 9 מטרים, הגובה של הסמל של גובה נקודה הוא 9 מטרים במצב הזה. עם זאת, אם אותו קואורדינטה מוצב על מיקום שבו גובה פני הקרקע הוא 10 מטרים, גובה הקואורדינטות הוא 19 מטרים. בדרך כלל, מצב זה משמש להצבת מוטות טלפון או רכבל סקי.
  • מוחלט - מגדיר את הגובה של הקואורדינטות ביחס לפני הים, ללא קשר לגובה פני השטח מתחת לאלמנט. לדוגמה, אם הגדרת גובה של קואורדינטות ל-10 מטרים במצב גובה מוחלט, הסמל של סמן נקודה יהיה בגובה פני הקרקע אם הוא בגובה 10 מטרים גם מעל פני הים. אם פני השטח נמצאים 3 מטרים מעל פני הים, הסמן יופיע מעל פני השטח ב-7 מטרים. בדרך כלל, השימוש במצב זה מיועד למיקום מטוסים.
<gx:heightMode>
תוסף KML, במרחב השמות של תוסף Google, המאפשר גובה ביחס לקרקעית הים. הערכים הם:
  • ערךToSeaFloor – מפרש את <height> כערך במטרים מעל קרקעית הים. אם הנקודה נמצאת מעל הקרקע במקום הים, ה-<height> יתפרש כמעל לפני הקרקע.
  • clampToSeaFloor – המערכת מתעלמת מהמפרט <height>, והנקודה תמוקם על קרקעית הים. אם הנקודה נמצאת על הקרקע ולא בים, הנקודה תמוקם על הקרקע.
<gx:drawOrder>
ערך שהוא מספר שלם שמציין את הסדר לשרטוט מספר מחרוזות של קו. ייתכן ש-Lstrings ייתכן שיהיה צורך להשתמש ברכיב הזה בשילוב עם הרכיבים <gx:outerColor> ו-<gx:outerWidth> ב-<LineStyle> כאשר קווים בשני צבעים חוצים זה את זה.
<קואורדינטות>(חובה)
שני צמדים או יותר של קואורדינטות, כל אחד מהם מכיל ערכי נקודה צפה (floating-point) עבור קו אורך, קו רוחב וגובה. הרכיב height הוא אופציונלי. צריך להוסיף רווח בין עציצים. אין לכלול רווחים בתוך מילת מפתח.

דוגמה

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

תיאור

קביעת סגנון השרטוט (צבע, מצב צבע ורוחב קו) לכל גיאומטריית הקו. גיאומטריית הקו כוללת קווי מתאר של פוליגונים מפורטים ו"שיתוף אינטרנט" (tethere) של סמלי סמנים (אם מופעלת חילוץ).

רכיבים ספציפיים ל-LineStyle

<width>
רוחב הקו, בפיקסלים.
<gx:outerColor>
צבע החלק המוגדר על ידי <gx:outerWidth>. לתשומת ליבך: המערכת מתעלמת מהרכיבים <gx:outerColor> ו-<gx:outerWidth> כאשר <LineStyle> מוחל על <Polygon> ועל <לינאריRing>.
<gx:outerWidth>
ערך בין 0.0 ל-1.0 שמציין את היחס של הקו שמשתמש ב-<gx:outerColor>. ההגדרה חלה רק על רוחב של הגדרות קווים עם <gx:physicalWidth>. היא לא חלה על קווים באמצעות <width>. למידע נוסף יש לעיין ב-<gx:drawOrder> ב-<LineString>. יש צורך בערך של סדר משיכה אם קווים בשני צבעים שחוצים זה את זה – לדוגמה, כדי להציג מחלף.
<gx:physicalWidth>
רוחב פיזי של הקו, במטרים.
<gx:labelVisibility>
בוליאני שקובע אם להציג תווית טקסט ב-LineString. תווית של LineString נמצאת ברכיב <name> שאח של <LineString> (כלומר, נמצאת באותו רכיב של <Placemark>).

גרסה 6.1 ואילך של Google Earth לא מציגה תוויות כברירת מחדל. יש להפעיל אותן עבור כל מחרוזת כדי להגדיר את <gx:labelVisibility> כ-1.

בעיה ידועה ב-Google Earth 6.1: ב-LineString ללא רכיב <gx:physicalWidth> תוצג התווית רק אם אורך השורה גדול מ-100 מ' * מספר התווים בתווית. לדוגמה, תווית עם שבעה תווים ("דוגמה") תוצג רק אם השורה גדולה מ-700 מ'. לא תהיה לכך השפעה על מחרוזות עם ערך <gx:physicalWidth>.

דוגמה

בדוגמה הבאה מוצג קו אדום אטום באורך 50 אחוזים וברוחב של 4 פיקסלים.

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

תיאור

<קישור> מציין את המיקום של כל אחד מהערכים הבאים:

  • קובצי KML שאוחזרו על ידי קישורי הרשת
  • קובצי תמונה שנמצאים בשימוש בשכבת-על כלשהי (הרכיב <Icon> מציין את התמונה בשכבת-על. ל-<Icon> יש אותם שדות כמו ב-<Link>)
  • קובצי מודל שמשמשים ברכיב <Model>

הקובץ נטען ומרענן באופן מותנה, בהתאם לפרמטרים של הרענון שמסופקים כאן. ניתן לציין שתי קבוצות שונות של פרמטרים של רענון: קבוצה אחת מבוססת על זמן (<refreshMode> ו-<refreshInterval>) וקבוצה אחת מבוססת על התצוגה הנוכחית מסוג 'מצלמה' (<viewRefreshMode> ו-<viewRefreshTime>). בנוסף, 'קישור' מציין אם קנה המידה של הפרמטרים של התיבה התוחמת שנשלחים לשרת (<viewBoundScale>) ומספק קבוצה של פרמטרים אופציונליים כפורמט לתצוגה של פרמטרים, שיכולים לשמש כפרמטר של פרמטרים לצפייה, כגון פרוטוקול של פרמטרים אופציונליים שבאמצעותם אפשר להגדיר פרמטרים של אתרים בתצוגה רגילה.

בעת אחזור של קובץ, כתובת האתר שנשלחת לשרת מורכבת משלושה קטעי מידע:

  • ה-href (Hypertext Attribution) שמציין את הקובץ לטעינה.
  • מחרוזת בפורמט שרירותי שנוצרה מ-(א) פרמטרים שאתם מציינים ברכיב <viewFormat> או (ב) פרמטרים של תיבה תוחמת (זוהי ברירת המחדל, ומשתמשים בה אם לא כלולים בקובץ רכיב <viewFormat>).
  • מחרוזת שנייה של פורמט שצוינה ברכיב <httpQuery>.

אם הקובץ שצוין ב-<href> הוא קובץ מקומי, לא ייעשה שימוש ברכיבים <viewFormat> ו-<httpQuery>.

הרכיב <Link> מחליף את רכיב ה-<Url> של <NetworkLink> שכלול בגרסאות קודמות של KML, ומוסיף פונקציונליות לרכיב <Region> (שהוצג ב-KML 2.1). בגרסה 3.0 וגרסאות קודמות של Google Earth, המערכת מתעלמת מהרכיב <Link>.

<href>
כתובת URL (כתובת HTTP או מפרט קובץ מקומי). כשההורה של <Link> הוא NetworkLink, <href> הוא קובץ KML. כשההורה של <Link> הוא מודל, <href> הוא קובץ COLLADA. כשההורה של <Icon> (שדות זהה ל-<Link>) הוא שכבת על, <href> הוא תמונה. ניתן להשתמש בכתובות URL יחסיות בתג הזה, והן מחושבות באופן יחסי לקובץ ה-KML הסוגר. לקבלת פרטים על בניית הפניות יחסיות בקובצי KML ו-KMZ, ראה קובצי KMZ.
<refreshMode>
ההגדרה מציינת מצב רענון מבוסס-זמן, שיכול להיות אחת מהאפשרויות הבאות:
  • onChange – רענון כשהקובץ נטען ובכל פעם שהפרמטרים של הקישור משתנים (ברירת המחדל).
  • onInterval – רענון כל n שניות (יש לציין ב-<refreshInterval>).
  • onExpire – מרעננים את הקובץ כשיגיע מועד התפוגה. אם לקובץ שאוחזר יש NetworkLinkControl,השעה <expires> מקבלת עדיפות על פני זמני התפוגה שצוינו בכותרות HTTP. אם לא צוין זמן של <expires>, המערכת תשתמש בכותרת max-age של HTTP (אם היא קיימת). אם לא מופיע max-age, המערכת תשתמש בכותרת ה-HTTP Expires (אם היא קיימת). (עיינו בקטע RFC261b של Hypertext Transfer Protocol - HTTP 1.1 לקבלת פרטים על שדות כותרות HTTP).
<refreshInterval>
מציעה לרענן את הקובץ כל n שניות.
<viewRefreshMode>
ההגדרה קובעת אם מתבצע רענון של הקישור כשהמצלמה משתנה.
הקריטריונים יכולים להיות:
  • never (ברירת מחדל) - התעלמות משינויים בתצוגה. כמו כן, יש להתעלם מפרמטרים של <viewFormat>, אם יש כאלה.
  • onStop – רענון הקובץ n שניות אחרי הפסקת התנועה, כאשר n צוין ב-<viewRefreshTime>.
  • onRequest – רענון הקובץ רק כאשר המשתמש מבקש אותו באופן מפורש. (לדוגמה, ב-Google Earth, המשתמש לוחץ לחיצה ימנית ובוחרים באפשרות 'רענון' בתפריט ההקשר).
  • onRegion – רענון הקובץ כשהאזור יהפוך לפעיל. ראו <Region>.
<viewרענוןTime>
כשהמצלמה מפסיקה, מוצג מספר השניות להמתנה לפני רענון התצוגה. (יש לעיין למעלה בקטעים <viewRefreshMode> ו-onStop.)
<viewBoundScale>
שינוי הגודל של הפרמטרים של ה-BBOX לפני שליחתם לשרת. ערך קטן מ-1 מציין שימוש בפחות מצפייה מלאה (מסך). ערך גדול מ-1 מציין אחזור של אזור שנמצא מחוץ לקצוות של התצוגה הנוכחית.
<viewFormat>
מציין את הפורמט של מחרוזת השאילתה שמצורפת ל-<href> של הקישור לפני שהקובץ מאוחזר.(אם ה-<href> מציין קובץ מקומי, המערכת תתעלם מהרכיב הזה.)
אם מציינים <viewRefreshMode> של onStop ולא כוללים את התג <viewFormat> בקובץ, המידע הבא מצורף באופן אוטומטי למחרוזת השאילתה:

BBOX=[bboxWest],[bboxSouth],[bboxEast],[bboxצפון]

המידע הזה תואם למפרט של התיבה תוחמת האינטרנט (WMS).
אם מציינים תג <viewFormat> ריק, לא יצורף מידע למחרוזת השאילתה.
אפשר גם להגדיר קבוצה מותאמת אישית של פרמטרים לתצוגה שאפשר להוסיף למחרוזת השאילתה. אם תספקו מחרוזת בפורמט, היא תשמש במקום נתוני ה-BBOX. אם רוצים לקבל גם את המידע על ה-BBOX, צריך להוסיף את הפרמטרים האלה יחד עם הפרמטרים המותאמים אישית.
ניתן להשתמש בכל אחד מהפרמטרים הבאים במחרוזת הפורמט שלכם (ו-Google Earth יחליף את הערך הנוכחי המתאים בזמן שהוא ייצור את מחרוזת השאילתה):
  • [lookatLon], [lookatLat] - קו אורך וקו רוחב של הנקודה ש-<LookAt> צופה בה
  • [lookatRange], [lookatהטיה], [LookatHeader] - ערכים שבהם נעשה שימוש ברכיב <LookAt> (ראו תיאורים של <range>, <tilt>, ו-<headline> ב-<LookAt>)
  • [lookatTerrainLon], [lookatTerrainLat], [lookatTerrainAlt] – מכוונים על פני השטח במעלות/במטרים ש<LookAt> צופה בהם
  • [cameraLon], [cameraLat], [cameraAlt] – מעלות/מטרים של נקודת המבט של המצלמה
  • [horizFov], [vertFov] - שדה תצוגה אופקי ואנכי עבור המצלמה
  • [horizPixels] , [vertPixels] – גודל בפיקסלים של מציג התלת-ממד
  • [terrainEnabled] – מציין אם מציג התלת-ממד מציג את פני השטח.
<httpQuery>
הוספה של מידע למחרוזת השאילתה, על סמך הפרמטרים שצוינו. (Google Earth מחליף את הערך הנוכחי המתאים במועד יצירת מחרוזת השאילתה). הפרמטרים הבאים נתמכים:
  • [clientVersion]
  • [KMLVersion]
  • [clientName]
  • [שפה]

דוגמה

<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 Earth, מדובר בחלונית 'מקומות'.

רכיבים ספציפיים ל-ListStyle

<listItemType>
ההגדרה קובעת איך פיצ'ר יוצג בתצוגת הרשימה. הערכים האפשריים הם:
  • check (ברירת מחדל) – החשיפה של התכונה קשורה לתיבת הסימון של הפריט שלה.
  • radiofolder – כשמציינים גורם מכיל, רק פריט אחד מהמאגר זמין לצפייה בכל פעם
  • checkOffOnly – כאשר מגדירים את האפשרות לגבי מאגר או קישור רשת, ניתן למנוע את ההצגה של כל הפריטים בו-זמנית – כלומר, המשתמש יכול להשבית את כל הפריטים בקונטיינר או ב-Network Link, אבל לא להפעיל את הכול בבת אחת. ההגדרה הזו שימושית עבור קונטיינרים או קישורי רשת שמכילים כמויות גדולות של נתונים.
  • checkhideChild – משתמשים בתיבת סימון רגילה לחשיפה, אבל לא מציגים את הצאצאים של ה-Container או ה-Network Link בתצוגת הרשימה. תיבת סימון מאפשרת למשתמש להחליף את מצב החשיפה של האובייקטים הצאצאים במציג.
<bgColor>
צבע הרקע של קטע הקוד. ערכי צבעים ושקיפות מוצגים בייצוג הקסדצימלי. טווח הערכים של כל צבע הוא 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 Earth במצבים הבאים:
<State>
ההגדרה קובעת את המצב הנוכחי של NetworkLink או התיקייה. הערכים האפשריים הם open , closed , error , fetch0 , fetch1 ו-fetch2. אפשר לשלב את הערכים האלה על ידי הוספת רווח בין שני ערכים (ללא פסיק).
<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 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>

תיאור

הגדרת מצלמה וירטואלית המשויכת לכל רכיב שנגזר מהתכונה. הרכיב 'מבט' ממקם את ה'מצלמה' ביחס לאובייקט המוצג. ב-Google Earth, התצוגה "טסה אל" בנקודת המבט הזו כשהמשתמש לוחץ לחיצה כפולה על פריט בחלונית 'מקומות' או לוחץ לחיצה כפולה על סמל במציג התלת-ממד.

רכיבים שספציפיים למבט

<קו אורך>
קו האורך של המצלמה. מרחק זוויתי במעלות, יחסית לקו האורך הראשי. הערכים ממערב לקו האורך נעים בין 180- ל-0 מעלות. הערכים ממזרח לטווח מרידיאן נעים בין 0 ל-180 מעלות.
<קו רוחב>
קו הרוחב של נקודת המבט של המצלמה. מעלות מצפון או מדרום לקו המשווה (0 מעלות). הערכים נעים בין 90- לבין 90 מעלות.
<גובה>
המרחק משטח כדור הארץ, במטרים. מתורגם לפי מצב הגובה של LookLook.
<כותרת>
כיוון (כלומר, צפון, דרום, מזרח, מערב) במעלות. ברירת מחדל 0 (צפון). (ראו את התרשים בהמשך). הערכים נעים בין 0 ל-360 מעלות.
<הטיה
זווית בין הכיוון של נקודת התצפית לבין הדרך הרגילה אל פני השטח. (ראו את התרשים בהמשך). הערכים נעים בין 0 ל-90 מעלות. הערכים של <tilt> לא יכולים להיות שליליים. ערך <tilt> של 0 מעלות מציין צפייה ישירות מעל. ערך <tilt> של 90 מעלות מציין הצגה לאורך האופק.
<range>(חובה)
המרחק במטרים מהנקודה שצוינה ב-<length>, <Latitude>, ו-<height> למיקום של LookA. (ראו את התרשים בהמשך).
<heightMode>
ההגדרה קובעת איך יתפרש ה-<height> שצוין לנקודת התצפית. הערכים האפשריים הם:
  • clampToGround - (ברירת מחדל) מציין כדי להתעלם מהמפרט <height> ולהציב את מיקום LookB על הקרקע.
  • percentToGround - מפרש את <height> כערך במטרים מעל לקרקע.
  • מוחלט - מפרש את <height> כערך במטרים מעל פני הים.
<gx:heightMode>
תוסף KML במרחב השמות של תוסף Google, ומאפשר גבהים ביחס לקרקעית הים. הערכים הם:
  • ערךToSeaFloor – מפרש את <height> כערך במטרים מעל קרקעית הים. אם הנקודה נמצאת מעל הקרקע במקום הים, ה-<height> יתפרש כמעל לפני הקרקע.
  • clampToSeaFloor – המערכת מתעלמת ממפרט <height>, ו-LookAt תמוקם בקרקעית הים. אם הנקודה נמצאת על הקרקע ולא על הים, נקודת המבט תמוקם על האדמה.

התרשים הזה מדגים את הרכיבים <range>, <tilt> ו-<height>:

 

התרשים הזה מדגים את הרכיב <headline>:

 

מזרח=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 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 (מוזכר בתג <Link>). לקובצי COLLADA יש סיומת קובץ מסוג .dae. המודלים נוצרים במרחב הקואורדינטות שלהם ולאחר מכן ממוקמים, ממוקמים ומדורגים ב-Google Earth. לפרטים נוספים, עיינו בדף "נושאים ב-KML" בדף מודלים.

Google Earth תומך בפרופיל COLLADA הנפוץ, למעט במקרים הבאים:

  • Google Earth תומך רק במשולשים ובקווים בתור סוגים בסיסיים. מספר המשולשים המקסימלי המותר הוא 21845.
  • Google Earth לא תומך באנימציה או בעריכה.
  • Google Earth אינו תומך בהפניות גיאומטריות חיצוניות.

רכיבים ספציפיים למודל

<heightMode>
ההגדרה קובעת את אופן הפרשנות של <height> ב-<Location>. הערכים האפשריים הם:
  • clampToGround - (ברירת מחדל) מציין אם להתעלם מהמפרט <height> ולמקם את המודל על הקרקע.
  • percentToGround - מפרש את <height> כערך במטרים מעל לקרקע.
  • מוחלט - מפרש את <height> כערך במטרים מעל פני הים.
<gx:heightMode>
תוסף KML במרחב השמות של תוסף Google, ומאפשר גבהים ביחס לקרקעית הים. הערכים הם:
  • ערךToSeaFloor – מפרש את <height> כערך במטרים מעל קרקעית הים. אם הנקודה נמצאת מעל הקרקע במקום הים, ה-<height> יתפרש כמעל לפני הקרקע.
  • clampToSeaFloor – המערכת מתעלמת ממפרט <height>, והמודל ימוקם בקרקעית הים. אם הנקודה נמצאת על הקרקע ולא בים, המודל ימוקם על הקרקע.
<מיקום>
ציון הקואורדינטות המדויקות של מקור המודל בקו רוחב, קו אורך וגובה. מידות Latitude וקו האורך הן צפיה רגילה של קווי אורך ורוחב עם דאטום של WGS84. גובה הוא המרחק מעל פני השטח של כדור הארץ, במטרים, והוא מתורגם בהתאם <heightMode> או <gx:heightMode>.
<Location>
  <longitude>39.55375305703105</longitude>
  <latitude>-118.9813220168456</latitude>
  <altitude>1223</altitude>
</Location> 
<כיוון>
מתאר את הסיבוב של מערכת הקואורדינטות של מודל תלת-ממדי כדי למקם את האובייקט ב-Google Earth. תרשימים מוצגים בטבלה הבאה.
<Orientation>
  <heading>45.0</heading>
  <tilt>10.0</tilt>
  <roll>0.0</roll>
</Orientation> 

סבבים מוחלים על מודל בסדר הבא:

  1. <רול>
  2. <הטיה
  3. <כותרת>
<כותרת>
סיבוב על ציר z (רגיל לפני השטח של כדור הארץ). ערך של 0 (ברירת המחדל) שווה לצפון. סיבוב חיובי בכיוון השעון סביב ציר z המצוין במעלות מ-0 עד 360.
<הטיה
סיבוב על ציר x. סיבוב חיובי בכיוון השעון סביב הציר x, המצוין במעלות מ-0 עד 180.
<רול>
סבב על ציר y. סיבוב חיובי בכיוון השעון סביב ציר ה-y, ומציין מעלות בין 0 ל-180.
הכותרת, ההטיה וההגליל יצוינו בכיוון השעון בכיוון השעון בכיוון המקור
התרשים הזה ממחיש את הכיוון הטיפוסי של צירי המודל:
בדגם הטיפוסי, הסימן +x מופיע מימין, הסימן +y מופיע בחזית וצפון, כשהסימן + מופיע למעלה
<קנה מידה>
שינוי הגודל של מודל לאורך הצירים x, y ו-z במרחב הקואורדינטות של המודל.
<Scale>
<x>2.5</x>
<y>2.5</y>
<z>3.5</z>
</Scale>
קביעת הקובץ לטעינה ופרמטרים אופציונליים של רענון. מומלץ לעיין ב<קישור>.
<ResourceMap>
ציון 0 או יותר אלמנטים של <Alias>, כאשר כל אחד מהם הוא מיפוי של נתיב קובץ המרקם מקובץ Collada המקורי לקובץ KML או KMZ שמכיל את המודל. רכיב זה מאפשר לך להעביר ולשנות את השם של קובצי מרקם מבלי לעדכן את קובץ Collada המקורי המפנה את המרקמים האלה. רכיב <ResourceMaps> אחד יכול להכיל מיפויים מרובים מקובצי Collada שונים (מקור) לאותו קובץ KMZ (יעד).
<Alias>
<targetHref>../images/foo.jpg</targetHref> <sourceHref>c:\mytextures\foo.jpg</sourceHref> </Alias>
<Alias> מכיל מיפוי בין <sourceHref> לבין <targetHref>:
<targetHref>
ציון קובץ המרקם שיש לאחזר על ידי Google Earth. זהו קובץ עזר יחסי לקובץ תמונה שנמצא בארכיון .kmz, והוא יכול להיות הפניה מוחלטת לקובץ (לדוגמה, כתובת אתר).
<sourceHref>
האם הנתיב שצוין עבור קובץ המרקם בקובץ Collada .dae
ב-Google Earth, אם לא תספקו את המיפוי הזה, המערכת תשתמש בכללים הבאים כדי לאתר את המרקמים שמופנים בקובץ Collada (.dae):
  • אין נתיב: אם שם המרקם אינו כולל נתיב, Google Earth מחפש את המרקם באותה ספרייה כמו הקובץ .dae המפנה אליו.
  • נתיב יחסי: אם שם המרקם כולל נתיב יחסי (לדוגמה, ../images/mytexture.jpg), מערכת Google Earth מפרשת את הנתיב כיחסי לקובץ .dae שמפנה אליו.
  • נתיב מוחלט: אם שם המרקם הוא נתיב מוחלט (c:\mytexture.jpg) או נתיב רשת (לדוגמה, http://myserver.com/mytexture.jpg), מערכת Google Earth מחפשת את הקובץ במיקום שצוין, ללא קשר למיקום הקובץ .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>

תיאור

מאגר לקידומות גיאומטריות אפס או יותר המשויכות לאותה תכונה.

הערה: התג <GemetryCollection> הוצא משימוש. במקומה, יש להשתמש באפשרות <MultiGemetry>.

רכיבים ספציפיים לאובייקטים של 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 Earth 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 לנסיעה של אופניים ביום, עם מספר תחנות רענון ועצירה לארוחת צהריים. בשל שיבושים הקשורים לזמן, רכיבה אחת על אופניים עשויה להופיע כארבעה מסלולים שונים כאשר השעות והמיקומים מוצגים. קיבוץ רכיבי <gx:Track> אלה למאגר אחד של <gx:MultiTrack> גורם להצגתם ב-Google Earth כמקטעים של נתיב יחיד. כשהסמל מגיע לסוף של פלח אחד, הוא מתחיל לתחילתו של הפלח הבא. הרכיב <gx:interpolate> מציין אם להפסיק בסוף טראק אחד ולדלג מייד לתחילת הטראק הבא, או כדי לשנות את הערכים החסרים בין שתי הטראקים.

אלמנטים ספציפיים ל-gx:MultiTrack

<heightMode>
ההגדרה קובעת איך רכיבי גובה יתפרשו ברכיב <coordinates>. הערכים האפשריים הם
  • clampToGround - (ברירת מחדל) מציין התעלמות ממפרט הגובה (לדוגמה, ברכיב <gx:coord>).
  • percentToGround - מגדיר את הגובה של האלמנט ביחס לגובה פני הקרקע בפועל של מיקום מסוים. לדוגמה, אם גובה הקרקע של מיקום הוא בדיוק בגובה פני הים והגובה של נקודה מסוימת הוא 9 מטרים, הגובה של הסמל של גובה נקודה הוא 9 מטרים במצב הזה. עם זאת, אם אותו קואורדינטה מוצב על מיקום שבו גובה פני הקרקע הוא 10 מטרים, גובה הקואורדינטות הוא 19 מטרים.
  • מוחלט - מגדיר את הגובה של הקואורדינטות ביחס לפני הים, ללא קשר לגובה פני השטח מתחת לאלמנט. לדוגמה, אם הגדרת גובה של קואורדינטות ל-10 מטרים במצב גובה מוחלט, הסמל של סמן נקודה יהיה בגובה פני הקרקע אם הוא בגובה 10 מטרים גם מעל פני הים. אם פני השטח נמצאים 3 מטרים מעל פני הים, הסמן יופיע מעל פני השטח ב-7 מטרים.
<gx:heightMode>
תוסף KML במרחב השמות של תוסף Google, שמאפשר גובה יחסי לקרקעית הים. הערכים הם:
  • ערךToSeaFloor - פרשנות של הגובה כערך במטרים מעל קרקעית הים. אם הנקודה נמצאת מעל הקרקע ולא הים, היא תפורש כגובה מעל פני הקרקע.
  • clampToSeaFloor - המערכת מתעלמת ממפרט הגובה, והנקודה תמוקם על קרקעית הים. אם הנקודה נמצאת על הקרקע ולא בים, הנקודה תמוקם על הקרקע.
<gx: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. ברכיב הזה אפשר להגדיר את אפשרויות הרענון של הקובץ על סמך השעה ושינוי המצלמה. כדי לטפל ביעילות במערכי נתונים גדולים מאוד, אפשר להשתמש ב-NetworkLinks בשילוב עם Regions.

<רענון רענון>
ערך בוליאני. ערך של 0 משאיר את היכולת לראות תכונות שנמצאות בשליטתו של משתמש Google Earth. עליך להגדיר את הערך כ-1 כדי לאפס את החשיפה של תכונות בכל פעם ש-NetworkLink מרענן. לדוגמה, נניח שלסמן בתוך קובץ ה-KML המקושר מוגדר <visible> כ-1 וה-NetworkLink מוגדר לערך <refreshvisible>. כאשר הקובץ נטען לראשונה אל Google Earth, המשתמש יכול לנקות את תיבת הסימון לצד הפריט כדי להשבית את התצוגה במציג התלת-ממד. עם זאת, כאשר ה-NetworkLink יתרענן, הסמן יהיה גלוי שוב, מכיוון שמצב החשיפה המקורי שלו היה TRUE.
<flyToView>
ערך בוליאני. ערך 1 גורם ל-Google Earth לטוס לתצוגה של LookLook או למצלמה ב-NetworkLinkControl (אם הוא קיים). אם ה-NetworkLinkControl אינו מכיל רכיב AbsstrView, Google Earth יטוס אל רכיב ה-LookAt או המצלמה ב-Feature צאצא בתוך רכיב ה-<xlsx> בקובץ המרענן. אם לא הוגדר ברכיב <KML> 'מבט' או 'מצלמה', התצוגה משתנה. לדוגמה, Google Earth יטוס לתצוגת <LookAt> של מסמך האב, ולא ל-<LookAt> של הסמנים שנמצאים במסמך.

טיפ: כדי להציג את התיקייה או המסמך ברמה העליונה בתוך קישור רשת בתצוגת הרשימה, יש להקצות מזהה לתיקייה או למסמך. ללא המזהה הזה, רק שמות האובייקטים של הצאצא מוצגים בתצוגת הרשימה.

דוגמה

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

רכיבים ספציפיים ל-NetworkLinkControl

<minRefreshPeriod>
מצוין בשניות, <minRefreshPeriod> הוא הזמן המינימלי המותר בין אחזורים של הקובץ. הפרמטר הזה מאפשר לשרתים לווסת את האחזורים של קובץ מסוים, ולהתאים את קצב הרענון לקצב הצפוי של השינוי בנתונים. לדוגמה, משתמש עשוי להגדיר רענון של קישור ל-5 שניות, אבל אפשר להגדיר את תקופת הרענון המינימלית ל-3,600 כדי להגביל את עדכוני הרענון פעם בשעה.
<maxSessionLength>
תוך ציון בשניות, <maxSessionLength> הוא משך הזמן המקסימלי שקישור ה-NetworkLink של הלקוח יכול להישאר מחובר אליו. ערך ברירת המחדל של -1 מציין שאסור לסיים את הסשן באופן מפורש.
יש להשתמש ברכיב הזה כדי להוסיף מחרוזת לשאילתה של כתובת ה-URL ברענון הבא של הקישור לרשת. תוכלו להשתמש בנתונים האלה בסקריפט שלכם כדי לספק טיפול חכם יותר בצד השרת, כולל שליחת שאילתות לגרסאות והעברת קבצים מותנים.
<message>
אפשר להציג הודעה קופצת, כמו הנחיות השימוש בקישור לרשת. ההודעה מופיעה כאשר הקישור לרשת נטען לראשונה ל-Google Earth, או כאשר היא משתנה בפקד הקישור לרשת.
<linkName>
אפשר לשלוט בשם הקישור לרשת מהשרת, כך שהשרת יערוך שינויים בשם הלקוח בצד.
<linkDescription>
אתם יכולים לשלוט בשרת בתיאור של הקישור לרשת, כך שהשרת יבטל את השינויים שבוצעו בתיאור בצד הלקוח.
<linksnippet maxLines="2" >
אתם יכולים לשלוט בקטע הקוד של הקישור לרשת מהשרת, כך שהשרת ידחה את השינויים שבוצעו בקטע בצד הלקוח. ב-<linksnippet> יש מאפיין maxLines, מספר שלם שמציין את מספר השורות המקסימלי להצגה.
<expires>
אפשר לציין תאריך/שעה שבהם רוצים לרענן את הקישור. המפרט הזה חל רק אם לערך <refreshMode> ב-<Link> יש ערך onExpire. כדאי לעיין ב<refreshMode>
<עדכון>
באמצעות <Update>, ניתן לציין כל מספר של תגי שינוי, יצירה ומחיקה עבור קובץ .KML או ארכיון .kmz שנטען בעבר באמצעות קישור לרשת. עיינו ב<עדכון>.
<AbsstrView>

דוגמה

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

ראו בנוסף

<אובייקט>

תחביר

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

תיאור

זהו קורס בסיסי מופשט ולא ניתן להשתמש בו ישירות בקובץ KML. הוא מספק את המאפיין id, שמאפשר לזהות ייחודי של רכיב KML, ואת המאפיין targetId, המשמש להפניה לאובייקטים שכבר נטענו ל-Google Earth. צריך להקצות את המאפיין id אם משתמשים במנגנון <Update>.

<שכבת-על>

תחביר

<!-- 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. <שכבת-על> הוא סוג הבסיס לשכבות-על של תמונות המצוירות על פני השטח של הכוכב או על המסך. <סמל> מציין את התמונה לשימוש וניתן להגדיר אותה לטעינת תמונות מחדש על סמך טיימר או על ידי שינויים במצלמה. רכיב זה כולל גם מפרטים עבור סדר הערימה של שכבות-על מרובות ועבור הוספת ערכי צבע ושקיפות לתמונה הבסיסית.

רכיבים ספציפיים לשכבת-על

<צבע>
ערכי הצבעים מבוטאים בייצוג הקסדצימלי, כולל ערכי אטימות (אלפא). סדר הביטוי הוא אלפא, כחול, ירוק, אדום (aabbggrr). טווח הערכים של כל צבע הוא 0 עד 255 (00 עד ff). כדי לשמור על שקיפות, הערך 00 הוא שקוף לחלוטין ו-ff אטום לחלוטין. לדוגמה, אם רוצים להחיל צבע כחול עם שקיפות של 50 אחוזים בשכבת-על, צריך לציין את הפרטים הבאים: <color>7fff0000</color>

הערה: רכיב <geomColor> הוצא משימוש. יש להשתמש במקום זאת ב-<color>.

<drawOrder>
רכיב זה מגדיר את סדר הערימה של התמונות בשכבות-על חופפות. שכבות-על עם ערכי <drawOrder> גבוהים יותר משורטטות על-גבי שכבות-על עם ערכי <drawOrder> נמוכים יותר.
<סמל>
מגדיר את התמונה המשויכת לשכבת-העל. הרכיב <href> מגדיר את מיקום התמונה שישמש כשכבת-על. המיקום הזה יכול להיות באמצעות מערכת קבצים מקומית או בשרת אינטרנט. אם רכיב זה יושמט או שאינו מכיל <href>, המלבן יצויר באמצעות הצבע והגודל שהוגדרו על ידי שכבת-העל של פני השטח או של המסך.
<Icon>
   <href>icon.jpg</href>
</Icon>

מרחיב

מורחב ב-

<Photoשכבת על>

תחביר

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

תיאור

הרכיב <Photoשכבת>> מאפשר לך לאתר גיאוגרפית תמונה של כדור הארץ ולציין פרמטרי תצוגה עבור שכבת-העל הזו. שכבת-העל של התמונה יכולה להיות מלבן דו-ממדי פשוט, גליל חלקי או מלא, או כדור (פנוריות כדוריות). שכבת העל ממוקמת במיקום שצוין ומכוונת לנקודת המבט.

מאחר ש-<Photoשכבת על> נגזרת מ-<Feature>, היא יכולה להכיל אחד משני הרכיבים הנגזרים מ-<AbsstructView> - <Camera> או <LookAt> . המצלמה (או LookAt) מציינת נקודת תצפית וכיוון צפייה (נקרא גם וקטור תצוגה). שכבת-העל של התמונה ממוקמת ביחס לנקודת המבט. מישור התמונה המלבנית הדו-ממדית הוא מישור אורתוגונלי (בזוויות ישרות) של וקטור התצוגה. המצב הרגיל של המטוס הזה, כלומר החלק הקדמי שלו, שהוא החלק בתמונה – מכוון לנקודת המבט.

כתובת האתר של תמונת שכבת-העל מצוינת בתג <Icon>, שעבר בירושה מ-<שכבת-העל>. התג <Icon> חייב להכיל רכיב <href> שמציין את קובץ התמונה לשימוש עבור שכבת-העל של תמונות. אם מדובר בתמונה גדולה מאוד, <href> היא כתובת URL מיוחדת שמקשרת לפירמידה של תמונות ברזולוציות שונות (ראו ImagePyramid).

למידע נוסף, עיין בדף 'נושאים ב-KML' ב-PhotoLayer.

רכיבים ספציפיים ל-PhotoLayer

<סיבוב>
שינוי המיקום של התמונה בתוך שדה התצוגה. רכיב זה שימושי אם התמונה סובבה ווסטה מעט מהתצוגה האופקית הרצויה.
<ViewVolume>
ההגדרה קובעת איזה חלק מהסצנה הנוכחית גלוי. ציון שדה הראייה דומה להגדרה של פתיחת העדשה במצלמה פיזית. שדה ראייה קטן, כמו עדשת טלפוטו, מתמקד בחלק קטן מהנוף. שדה ראייה גדול, כמו עדשה רחבה, מתמקד בחלק גדול מהנוף.
<leftFov>
זווית, במעלות, בין כיוון התצוגה של המצלמה לבין הצד השמאלי של עוצמת הקול.
<rightFov>
זווית, במעלות, בין כיוון התצוגה של המצלמה לבין הצד הימני של עוצמת הקול.
<bottomFov>
זווית, במעלות, בין כיוון התצוגה של המצלמה לבין הצד התחתון של עוצמת הקול.
<topFov>
זווית, במעלות, בין כיוון הצפייה במצלמה לבין הצד העליון של עוצמת הקול.
<ליד>
מדידות במטרים לאורך כיוון הצפייה מנקודת המבט של המצלמה עד לצורה של שכבת-על של תמונה.
שדה התצוגה של שכבת-על מסוג תמונה מוגדר בארבעה מטוסים, כאשר כל אחד מהם מצוין בזווית ביחס לוקטור התצוגה. ארבעת המגדלים האלה מגדירים את החלק העליון, את החלק התחתון, את החלק השמאלי ואת ימין של שדה התצוגה, בצורת פירמידה חתוכה, באופן הבא:
בתרשימים הבאים אפשר לראות את ארבע הזוויות של שדה התצוגה בתוך הפירמידה הזו:
<תמונה של פירמידה>
לתמונות גדולות מאוד, צריך לבנות פירמידה של תמונה, שהיא קבוצה היררכית של תמונות, שכל אחת מהן היא גרסה ברזולוציה נמוכה יותר של התמונה המקורית. כל תמונה בפירמידה מחולקת לקבוצות משנה, כך שצריך לטעון רק את החלקים בתצוגה. Google Earth מחשב את נקודת המבט הנוכחית וטוען את האריחים המתאימים למרחק המשתמש מהתמונה. כאשר נקודת המבט מתקרבת לשכבת-העל לתמונה, Google Earth טוען אריחים ברזולוציה גבוהה יותר. מאחר שלא ניתן להציג בו-זמנית את כל הפיקסלים בתמונה המקורית על המסך, העיבוד מראש מאפשר ל-Google Earth להשיג ביצועים מקסימליים, מאחר שהוא טוען רק את חלקי התמונה המוצגים, ואת פרטי הפיקסלים שהמשתמש יכול להבחין בהם רק בנקודת המבט הנוכחית.
כשמציינים פירמידה של תמונה, צריך לשנות גם את ה-<href> ברכיב <Icon> כדי לכלול מפרטים של המשבצות לטעינה.
<tileSize>
גודל המשבצות, בפיקסלים. המשבצות חייבות להיות ריבועיות, ו-<tileSize> חייב להיות בחזקת 2. מומלץ לקבוע גודל משבצת של 256 (ברירת המחדל) או 512. התמונה המקורית מחולקת לאריחים בגודל הזה, ברזולוציות שונות.
<maxWidth>
רוחב בפיקסלים של התמונה המקורית.
<maxגובה>
גובה בפיקסלים של התמונה המקורית.
<gridOrigin>
ההגדרה תתחיל מספור האריחים בכל שכבה של הפירמידה. הערך lowerLeft מציין ששורה 1, עמודה 1 של כל שכבה נמצאת בפינה הימנית התחתונה של הרשת.
<נקודה>
הרכיב <Point> פועל כ-<Point> בתוך רכיב <Placemark>. הוא מצייר סמל לציון המיקום של שכבת-העל לתמונה. הסמל המצויר מצוין על ידי השדות <styleUrl> ו-<StyleSelector>, בדיוק כמו שמסומן ב-<Placemark>.
<צורה>
השכבת-על של תחזית העריכה תוצג ב-<shape>. ה-<shape> יכול להיות אחד מהבאים:

rectangle (ברירת מחדל) – לצילום תמונה רגילה

גליל - לתמונות פנורמיות, שיכולות להיות גלילים חלקיים או מלאים

earth - פנורמות כדוריות

דוגמה

<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 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 Earth, הסמן יופיע כפריט ברשימה בחלונית 'מקומות'. לסמן עם נקודה משויך סמל שמסמן נקודה בכדור הארץ במציג התלת-ממד. (במציג התלת-ממד ב-Google Earth, סמן של נקודה הוא האובייקט היחיד שניתן ללחוץ עליו או להעביר אותו מעליו. לאובייקטים גיאומטריים אחרים אין סמל במציג התלת-ממד. כדי לתת למשתמש משהו ללחוץ עליו במציג התלת-ממד, יש ליצור אובייקט מרובה גיאומטריה המכיל נקודה ואובייקט גיאומטרי אחר.)

רכיבים ספציפיים לסמן

דוגמה

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

תיאור

מיקום גיאוגרפי המוגדר לפי קו אורך, קו רוחב וגובה (אופציונלי). כשנקודה כלשהי נכללת בסמן, הנקודה עצמה קובעת את מיקום השם והסמל של הסמן. כשמוציאים נקודה, היא מחוברת לקרקע באמצעות קו. ב"שיתוף אינטרנט" נעשה שימוש ב-LineStyle הנוכחי.

רכיבים ספציפיים לנקודה

<extrude>
ערך בוליאני. מציינת אם לחבר את הנקודה לקרקע באמצעות קו. כדי לחלץ נקודה, הערך של <heightMode> יכול להיות rateToGround , ערךToToeeFloor או מוחלט. הנקודה נמתחת כלפי המרכז של כדור הארץ.
<heightMode>
ההגדרה קובעת איך רכיבי גובה יתפרשו ברכיב <coordinates>. הערכים האפשריים הם
  • clampToGround - (ברירת מחדל) מציין התעלמות ממפרט הגובה (לדוגמה, בתג <coordinates>).
  • percentToGround - מגדיר את הגובה של האלמנט ביחס לגובה פני הקרקע בפועל של מיקום מסוים. לדוגמה, אם גובה הקרקע של מיקום הוא בדיוק בגובה פני הים והגובה של נקודה מסוימת הוא 9 מטרים, הגובה של הסמל של גובה נקודה הוא 9 מטרים במצב הזה. עם זאת, אם אותו קואורדינטה מוצב על מיקום שבו גובה פני הקרקע הוא 10 מטרים, גובה הקואורדינטות הוא 19 מטרים. בדרך כלל, מצב זה משמש להצבת מוטות טלפון או רכבל סקי.
  • מוחלט - מגדיר את הגובה של הקואורדינטות ביחס לפני הים, ללא קשר לגובה פני השטח מתחת לאלמנט. לדוגמה, אם הגדרת גובה של קואורדינטות ל-10 מטרים במצב גובה מוחלט, הסמל של סמן נקודה יהיה בגובה פני הקרקע אם הוא בגובה 10 מטרים גם מעל פני הים. אם פני השטח נמצאים 3 מטרים מעל פני הים, הסמן יופיע מעל פני השטח ב-7 מטרים. בדרך כלל, השימוש במצב זה מיועד למיקום מטוסים.
<gx:heightMode>
תוסף KML במרחב השמות של תוסף Google, ומאפשר גבהים ביחס לקרקעית הים. הערכים הם:
  • ערךToSeaFloor - פרשנות של הגובה כערך במטרים מעל קרקעית הים. אם הנקודה נמצאת מעל הקרקע ולא הים, היא תפורש כגובה מעל פני הקרקע.
  • clampToSeaFloor - המערכת מתעלמת ממפרט הגובה, והנקודה תמוקם על קרקעית הים. אם הנקודה נמצאת על הקרקע ולא בים, הנקודה תמוקם על הקרקע.
<קואורדינטות>(חובה)
גוון אחד הכולל ערכי נקודות צפות לציון קו האורך, קו הרוחב והגובה (בסדר הזה). ערכי קו האורך וקו הרוחב מופיעים במעלות, כאשר
  • קו אורך ≥ 180 ו-<= 180
  • קו רוחב ≥ 90 ו-≤ 90
  • height (אופציונלי) במטרים מעל פני הים
אסור לכלול רווחים בין שלושת הערכים שמתארים קואורדינטה.

דוגמה

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

מרחיב

נמצא ב

<מצולע>

תחביר

<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> לצבע, למצב הצבע ולמילוי שלהם.

יש לציין את ה<קואורדינטות> עבור פוליגונים לפי סדר נגד כיוון השעון. פוליגונים פועלים לפי ה"כלל הימני", המציין שאם תצמידו את יד ימין לכיוון שבו צוינו הקואורדינטות, האגודל יצביע על הכיוון הכללי של הגיאומטריה של הפוליגון. (בגרפיקה תלת-ממדית, המצב הגיאומטרי משמש לתאורה ומצביע כלפי חזית הפוליגון). מאחר ש-Google Earth ממלא רק את הפנים הקדמיות של הפוליגונים, תשיג את האפקט הרצוי רק כאשר הקואורדינטות יצוינו בסדר הנכון. אחרת, הפוליגון יהיה אפור.

הערה: ב-Google Earth, פוליגון עם <heightMode> של clampToGround עוקב אחר קווים של מיסב קבוע. עם זאת, לינארי (בעצמו) עם <heightMode> של clampToGround עוקב אחר קווים מעוגלים נהדרים.

רכיבים ספציפיים למצולע

<extrude>
ערך בוליאני. מציינת אם לחבר את המצולע לקרקע. כדי לחלץ מצולע, מצב הגובה חייב להיות percentToGround, percentToSeaFloor או מוחלט. רק הקודקודים נמתחים, לא הגיאומטריה עצמה (לדוגמה, מלבן הופך לקופסה עם חמש צלעות). קודקודים של הפוליגון נמתחים כלפי המרכז של כדור הארץ.
<tessellate>
שדה זה אינו בשימוש על ידי 'מצולע'. כדי לאפשר למצולע לעקוב אחר פני השטח (כלומר, כדי להפעיל tesselling), יש לציין מצב גובה של clampToGround או clampToSeaFloor.
<heightMode>
ההגדרה קובעת איך רכיבי גובה יתפרשו ברכיב <coordinates>. הערכים האפשריים הם
  • clampToGround - (ברירת מחדל) מציין התעלמות ממפרט הגובה (לדוגמה, בתג <coordinates>).
  • percentToGround - מגדיר את הגובה של האלמנט ביחס לגובה פני הקרקע בפועל של מיקום מסוים. לדוגמה, אם גובה הקרקע של מיקום הוא בדיוק בגובה פני הים והגובה של נקודה מסוימת הוא 9 מטרים, הגובה של הסמל של גובה נקודה הוא 9 מטרים במצב הזה. עם זאת, אם אותו קואורדינטה מוצב על מיקום שבו גובה פני הקרקע הוא 10 מטרים, גובה הקואורדינטות הוא 19 מטרים. בדרך כלל, מצב זה משמש להצבת מוטות טלפון או רכבל סקי.
  • מוחלט - מגדיר את הגובה של הקואורדינטות ביחס לפני הים, ללא קשר לגובה פני השטח מתחת לאלמנט. לדוגמה, אם הגדרת גובה של קואורדינטות ל-10 מטרים במצב גובה מוחלט, הסמל של סמן נקודה יהיה בגובה פני הקרקע אם הוא בגובה 10 מטרים גם מעל פני הים. אם פני השטח נמצאים 3 מטרים מעל פני הים, הסמן יופיע מעל פני השטח ב-7 מטרים. בדרך כלל, השימוש במצב זה מיועד למיקום מטוסים.
<gx:heightMode>
תוסף KML במרחב השמות של תוסף Google, ומאפשר גבהים ביחס לקרקעית הים. הערכים הם:
  • ערךToSeaFloor – מפרש את <height> כערך במטרים מעל קרקעית הים. אם הנקודה נמצאת מעל הקרקע ולא הים, היא תפורש כגובה מעל פני הקרקע.
  • clampToSeaFloor - המערכת מתעלמת ממפרט הגובה, והנקודה תמוקם על קרקעית הים. אם הנקודה נמצאת על הקרקע ולא בים, הנקודה תמוקם על הקרקע.
<outerBoundaryIs>(חובה)
מכיל רכיב <לינאריRing>.
<innerBoundaryIs>
מכיל רכיב <לינאריRing>. מצולע יכול להכיל מספר אלמנטים של <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>

תיאור

קביעת סגנון השרטוט עבור כל הפוליגונים, כולל חילוץ פוליגונים (שנראים כמו קירות של בניינים) ושקעים בקו (שנראים כמו גדרות יציבות).

רכיבים ספציפיים ל-PolyStyle

<מילוי>
ערך בוליאני. מציינת אם למלא את הפוליגון.
<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 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>) שמגדיר טווח תוקף של האזור המשויך מבחינת גודל המסך הצפוי. אזור מוגדר כ'פעיל' כשהתיבה 'תוחמת' נמצאת בטווח התצוגה של המשתמש ועומדת בדרישות. אובייקטים שמשויכים לאזור משורטטים רק כשהאזור פעיל. כשה-<viewRefreshMode> הוא onRegion, הקישור או הסמל נטען רק כשהאזור פעיל. לפרטים נוספים, עיינו בדף "נושאים ב-KML" באזורים. בהיררכיית מאגר או NetworkLink, חישוב זה משתמש באזור שהוא האב הקרוב ביותר בהיררכיה.

רכיבים ספציפיים לאזור

<LatLonAltBox>(חובה)
תיבה תוחמת המתארת את אזור העניין המוגדר על ידי קואורדינטות וגבהים גיאוגרפיים. ערכי ברירת המחדל והשדות הנדרשים הם:
<heightMode> או <gx:heightMode>
הערכים האפשריים למצב <heightMode> הם clampToGround , percentToGround ו-מוחלט. הערכים האפשריים עבור <gx:heightMode> הם clampToSeaFloor ו-percentToSeaFloor. רצוי גם לעיין ב-<LatLonBox>.
<minAltitude>
מבוטאת במטרים (ו מושפעת מהמפרט של מצב הגובה).
<maxAltitude>
מבוטאת במטרים (ו מושפעת מהמפרט של מצב הגובה).
<north> (חובה)
מציין את קו הרוחב של הקצה הצפוני של התיבה חופפת, במעלות עשרוניות מ-0 עד 90°.
<south> (חובה)
מציין את קו הרוחב של הקצה הדרומי של התיבה התוחמת, במעלות עשרוניות מ-0 עד 90°.
<מזרח> (חובה)
ההגדרה קובעת את קו האורך של הקצה המזרחי של התיבה התוחמת, במעלות עשרוניות מ-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 Earth.

<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 Earth) עבור השדה המותאם אישית הזה.

<SimpleField type="string" name="string">
ההצהרה של השדה המותאם אישית, שצריך לציין גם את הסוג וגם את השם של השדה הזה. אם לא מציינים את type או את name, המערכת תתעלם מהשדה. הסוג יכול להיות אחת מהאפשרויות הבאות:
  • string
  • int
  • Uint
  • סרטון קצר
  • ushort
  • מספר ממשי (float)
  • כפולה
  • בוליאני
<displayName>
השם שיש להשתמש בו כאשר שם השדה מוצג למשתמש Google Earth. משתמשים ברכיב [CDATA] כדי לסמן בתו בריחה (escape) את תגי ה-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 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>

תיאור

רכיב זה מצייר שכבת-על לתמונה הקבועה במסך. דוגמאות לשימוש בשכבות-על של מסך הן מצפן, סמלי לוגו ותצוגות ראשות. שינוי גודל המסך נקבע על ידי הרכיב <size>. המיקום של שכבת-העל מטופל על ידי מיפוי נקודה בתמונה שצוינה ב-<coverXY> לנקודה במסך שצוינה ב-<screenXY>. לאחר מכן, התמונה מסובבת ב-<rotation> מעלות לגבי נקודה ביחס למסך שצוין על ידי <rotationXY>.

הצאצא <href> של <Icon> מציין את התמונה שתשמש כשכבת-על. הקובץ יכול להיות במערכת קבצים מקומית או בשרת אינטרנט. אם רכיב זה יושמט או שאינו מכיל <href>, המלבן יצויר באמצעות הצבע והגודל שמוגדרים על ידי שכבת-העל של המסך.

רכיבים ספציפיים לשכבת-על במסך

<שכבת XY>
אפשרות זו מציינת נקודה (או מחוץ) לתמונת שכבת-העל שממופה לקואורדינטות של המסך (<screenXY>). היא דורשת ערכי x ו-y, ואת היחידות של הערכים האלה.
ניתן לציין את הערכים x ו-y בשלוש דרכים שונות: כ-pixels ("pixels"), כ-שברים של התמונה ("fraction") או כ-inset Pixels ("insetPixels"), שהם קיזוז בפיקסלים מהפינה השמאלית העליונה של התמונה. אפשר לציין את המיקומים x ו-y בדרכים שונות — לדוגמה, x יכול להיות בפיקסלים ו-y יכול להיות שבר. המקור של מערכת הקואורדינטות נמצא בפינה הימנית התחתונה של התמונה.
  • x - מספר הפיקסלים, רכיב שבר של התמונה או הגדרת פיקסל המציינת את רכיב x של נקודה בתמונת שכבת-העל.
  • y - מספר הפיקסלים, רכיב חלקי של התמונה או פיקסל קבוע שמציין את רכיב ה-y של נקודה בתמונת שכבת-העל.
  • xunits – יחידות שבהן צוין הערך x. ערך של "fraction" מציין שערך x הוא שבר של התמונה. ערך של "pixels" מציין את הערך x בפיקסלים. ערך של "insetPixels" מציין כניסת פסקה מהקצה השמאלי של התמונה.
  • yunits – יחידות שבהן צוין הערך y. ערך של "fraction" מציין שערך y הוא שבר של התמונה. ערך של "pixels" מציין את הערך y בפיקסלים. ערך של "insetPixels" מציין כניסה מהקצה העליון של התמונה.
<screenXY>
ציון נקודה ביחס למקור המסך שאליו מופה תמונת שכבת-העל. אפשר לציין את ערכי x ו-y בשלוש דרכים שונות: כפיקסלים ("pixels"), כשברים של המסך ("fraction"), או כ-פיקסלים מוטבעים ("insetPixels"), סטייה בפיקסלים מהפינה השמאלית העליונה של המסך. אפשר לציין את המיקומים x ו-y בדרכים שונות — לדוגמה, x יכול להיות בפיקסלים ו-y יכול להיות שבר. המקור של מערכת הקואורדינטות נמצא בפינה הימנית התחתונה של המסך.
  • x - מספר הפיקסלים, רכיב חלקי של המסך או פונט פיקסלים שמציין את רכיב ה-x של נקודה במסך.
  • y - מספר הפיקסלים, רכיב שבר של המסך, או פיקסל קבוע שמציין את רכיב ה-y של נקודה במסך.
  • xunits – יחידות שבהן צוין הערך 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>  
<רוטציהXY>
הצביעו באופן יחסי למסך שבו מסובבים את שכבת-העל במסך.
<size>
ההגדרה קובעת את גודל התמונה של שכבת-העל במסך, באופן הבא:
  • ערך של -1 מציין לשימוש במאפיין המקורי
  • ערך של 0 מציין שכדי לשמור על יחס הגובה-רוחב
  • ערך של n קובע את ערך המאפיין
לדוגמה:

כדי לאלץ את התמונה לשמור על המידות המקוריות של x ו-y, מגדירים את הערכים כך: -1:

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

כדי לאלץ את התמונה לשמור על המידות האופקיות שלה, אבל כדי לתפוס 20% משטח המסך האנכי:

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

כדי לאלץ את שינוי הגודל של התמונה ל-100px על 500px:

<size x="100" y="500" xunits="pixels" yunits="pixels"/> 
<סיבוב>
מציין את זווית הסיבוב של אובייקט האב. הערך 0 משמעו ללא סיבוב. הערך הוא זווית במעלות נגד כיוון השעון, שמתחילה מצפון. משתמשים ב-±180 כדי לציין את הסיבוב של אובייקט האב מ-0. המרכז של <rotation>, אם לא (.5,.5), מצוין ב-<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 id="ID">
<!-- extends StyleSelector -->

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

תיאור

סגנון מגדיר קבוצת סגנונות שאפשר להפנות אליה בעזרת המאפיינים של מפות Google ומאפיינים. סגנונות משפיעים על האופן שבו מוצגת גיאומטריה במציג התלת-ממד ועל האופן שבו תכונות מופיעות בחלונית 'מקומות' של תצוגת הרשימה. סגנונות משותפים נאספים ב<מסמך>, וצריך להגדיר עבורם מזהה כדי שהתכונות השונות שישתמשו בהם יפנו אליהם.

משתמשים ב-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>

מרחיב

נמצא ב

רכיבים ספציפיים לסגנון

<Styleמיפוי>

תחביר

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

תיאור

<סגנון מפה> ממפה בין שני סגנונות שונים. בדרך כלל רכיב <StyleMaps> משמש לסימון סגנונות רגילים מודגשים נפרדים עבור סמן, כך שהגרסה המודגשת מופיעה כאשר המשתמש מעביר את העכבר מעל לסמל ב-Google Earth.

רכיבים ספציפיים ל-Styleמיפוי

<התאמה>(חובה)
מגדיר זוג מפתחות/ערכים שממפה מצב (רגיל או מודגש) ל-<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> ו-<StyleMaps>. הרכיב סגנוןמפה בוחר סגנון בהתבסס על המצב הנוכחי של הסמן. רכיב שמופק ב-StyleSelector מזוהה באופן ייחודי באמצעות ה-id וה-url שלו.

רכיבים ספציפיים ל-StyleSelector

הרכיב המופשט הזה לא מכיל רכיבי צאצא.

מרחיב

מורחב ב-

<זמן פריים>

תחביר

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

תיאור

ייצוג של טווח הזמן שמוגבל ב-dateTimes של ההתחלה והסיום.

אם חסרות <begin> או <end>, סוף התקופה הזו אינו מוגבל (ראו דוגמה למטה).

השדה dateTime מוגדר בהתאם לזמן של סכימת XML (מידע נוסף מופיע בקטע XML Schema Part 2: Datatypes Second Edition). הערך יכול להתבטא באופן הבא: yyyy-mm-ddThh:mm:ss.ssszzzzzz, כאשר T הוא המפריד בין התאריך והשעה, ואזור הזמן הוא Z (לפי שעון UTC) או zzzzzz, שמייצג את ה-hh:mm ביחס ל-UTC. בנוסף, ניתן לבטא את הערך כתאריך בלבד. לקבלת דוגמאות, יש לעיין ב-<TimeStamp>.

רכיבים ספציפיים ל-TimeSpan

<begin>
מתאר את ההתחלה המיידית של תקופת זמן. אם לא צוין מספר, תקופת ההתחלה צריכה להיות ללא גבולות.
<end>
תיאור של רגע הסיום של תקופת זמן מסוימת. אם לא בחרת שם, סוף התקופה הוא ללא הבחנה.

דוגמה

הדוגמה הבאה מציגה את תקופת הזמן שמייצגת את מדינת קולורדו. היא מכילה רק תג <begin> כי קולורדו הפכה למדינה ב-1 באוגוסט 1876, והיא ממשיכה להיות מדינה:

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

מרחיב

נמצא ב

<חותמת זמן>

תחביר

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

תיאור

מייצג רגע אחד בזמן. זהו רכיב פשוט ואינו מכיל ילדים. הערך שלו הוא dateTime, המצוין בזמן XML (ראו סכימת XML חלק 2: סוגי נתונים מהדורה שנייה). הדיוק של TimeStamp נקבע על ידי הערך 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)
    הדוגמה הזו מציגה את השעה המקומית, ולאחר מכן את המרת ה-GMT ל-UTC.
<TimeStamp>
  <when>1997-07-16T10:30:15+03:00</when>
</TimeStamp>

מרחיב

נמצא ב

<gx:TimeSpan> ו-<gx:TimeStamp>

הרכיב הזה הוא הרחבה של תקן OGC KML 2.2 והוא נתמך ב-Google Earth 5.0 ואילך. מידע נוסף

עותק של הרכיבים <TimeSpan> ו-<TimeStamp>, במרחב השמות של התוסף. כך אפשר לכלול ערכי זמן ב-AbsstrViews (<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:סיור>

הרכיב הזה הוא הרחבה של תקן OGC KML 2.2 והוא נתמך ב-Google Earth 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> יחיד, שבתורו כולל רשימה מסודרת של רכיבי gx:TourPrimitive שמגדירים סיור בכל דפדפן KML. למידע נוסף על סיורים

דוגמה

מספר דוגמאות לסיורים זמינות מהפרק סיורים במדריך למפתחי KML.

השירים הכלולים

  • gx:Playlist – מכיל כל מספר של רכיבי gx:TourPrimitive. אפשר לכלול אפס רכיבי <gx:Playlist> או יותר בתוך רכיב <gx:Tour>.
    <gx:Tour>
      <gx:Playlist>
        <!-- gx:TourPrimitive -->
          ...
        <!-- /gx:TourPrimitive -->
    
        <!--- Any number of gx:TourPrimitive elements can be included --->
      </gx:Playlist>
    </gx:Tour>

<gx:TourPrimitive>

הרכיב הזה הוא הרחבה של תקן OGC KML 2.2 והוא נתמך ב-Google Earth 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>
    מכיל רכיב <href> שמציין קובץ צליל להפעלה בפורמט MP3, M4A או AAC. הוא לא מכיל משך זמן. קובץ האודיו מופעל במקביל לשאר הסיור, והמשמעות היא שהפרימיום של הסיור הבא מתרחש מיד לאחר הגעת פרימיטיבי לסיור ב<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:AbstractView ההגדרה האחרונה, למשך מספר השניות שהוגדר לפני ההפעלה של gx:TourPrimitive הבאה. חשוב לזכור שההמתנה לא גורמת להשהיה של ציר הזמן – קובצי אודיו שמושמעים עכשיו ועדכונים מונפשים ימשיכו לפעול בזמן שהמצלמה ממתינה.

מרחיב

<gx:Track>

הרכיב הזה הוא הרחבה של תקן OGC KML 2.2 והוא נתמך ב-Google Earth 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 Earth (סמל של נקודה או דגם) שמקודד מיקומים מרובים לאותו אובייקט מספר רב של פעמים. ב-Google Earth, מחוון הזמן מאפשר למשתמש להזיז את תצוגת הזמן, מה שמניע את מיקום האובייקט.

רכיב gx:MultiTrack משמש לאיסוף מספר מסלולים ליחידה קונספטואלית אחת עם סמל (או דגם) משויך אחד, שזז לאורך הטראק. התכונה הזו שימושית אם יש לכם כמה מסלולים לאותו אובייקט אמיתי. הרכיב הבוליאני <gx:interpolate> של <gx:MultiTrack> מציין אם להתערב בין הטראקים בטראק מרובה. אם הערך הוא 0, הנקודה או הדגם מפסיקים בסוף מסלול אחד וקופצים להתחלה של הטראק הבא. (לדוגמה, אם אתם רוצים שסמן יחיד יייצג את הנסיעות שלכם במשך יומיים, ויחידת ה-GPS הייתה כבויה למשך ארבע שעות במהלך התקופה הזו, תוכלו להציג אי-רציפות בין הנקודות שבהן היחידה הייתה כבויה ולאחר מכן הייתה מופעלת שוב). אם הערך של <gx:interpolate> הוא 1, הערכים שבין סוף הטראק הראשון לתחילת הטראק עוברים אינטרפולציה, כך שהטראק יופיע כנתיב מתמשך אחד.

במדריך למשתמש של Google Earth מוסבר איך לייבא נתוני GPS ל-Google Earth.

למה הטראקים מועילים לך?

גרסאות קודמות של KML (לפני גרסה 5.2 של Google Earth) מאפשרות לשייך רכיב זמן לכל תכונה (סמן, שכבת-על של קרקע וכו'). עם זאת, ניתן לשייך רק רכיב זמן אחד לתכונה נתונה. מסלולים הם מנגנון יעיל יותר לשיוך נתוני זמן עם תכונות גלויות, מאחר שיוצרים תכונה אחת בלבד, שניתן לשייך לרכיבי זמן מרובים כאשר האובייקט נע בחלל.

בנוסף, רכיב הרצועה חזק יותר מהמנגנון הקודם (המתואר בפרק זמן ואנימציה במדריך למפתח KML) מכיוון ש-<מעקב> מספק מנגנון לאינטרפולציה על מיקום האובייקט בכל עת על המסלול שלו. באמצעות התכונה החדשה הזו, Google Earth יציג תרשים של פרופילי גובה ומהירות (כולל נתונים מותאמים אישית, אם קיימים) של האובייקט לאורך זמן.

נתוני 'מיעוט'

כשערכים מסוימים של נתונים חסרים במיקומים במסלול, ניתן לספק תגי <coord/> (<coord></coord>) או <angles/> (<angles></angles>) ריקים כדי לאזן את המערכים. תג <coord/> או <angles/> ריק מציין שאין נתונים כאלה עבור נקודת נתונים נתונה, ויש לערוך אינטרפולציה בין שתי נקודות הנתונים הקרובות ביותר. ההתנהגות הזו חלה גם על ExtendedData בטראק. כל רכיב מלבד <when> יכול להיות ריק, ויופיעו בו אינטרפולציות בין שני הרכיבים הקרובים ביותר שצוינו היטב.

רכיבים ספציפיים למסלול

<heightMode>
ההגדרה קובעת איך רכיבי גובה יתפרשו ברכיב <coordinates>. הערכים האפשריים הם
  • clampToGround - (ברירת מחדל) מציין התעלמות ממפרט הגובה (לדוגמה, בתג <gx:coord>).
  • percentToGround - מגדיר את הגובה של האלמנט ביחס לגובה פני הקרקע בפועל של מיקום מסוים. לדוגמה, אם גובה הקרקע של מיקום הוא בדיוק בגובה פני הים והגובה של נקודה מסוימת הוא 9 מטרים, הגובה של הסמל של גובה נקודה הוא 9 מטרים במצב הזה. עם זאת, אם אותו קואורדינטה מוצב על מיקום שבו גובה פני הקרקע הוא 10 מטרים, גובה הקואורדינטות הוא 19 מטרים.
  • מוחלט - מגדיר את הגובה של הקואורדינטות ביחס לפני הים, ללא קשר לגובה פני השטח מתחת לאלמנט. לדוגמה, אם הגדרת גובה של קואורדינטות ל-10 מטרים במצב גובה מוחלט, הסמל של סמן נקודה יהיה בגובה פני הקרקע אם הוא בגובה 10 מטרים גם מעל פני הים. אם פני השטח נמצאים 3 מטרים מעל פני הים, הסמן יופיע מעל פני השטח ב-7 מטרים.
<gx:heightMode>
תוסף KML במרחב השמות של תוסף Google, ומאפשר גבהים ביחס לקרקעית הים. הערכים הם:
  • ערךToSeaFloor - פרשנות של הגובה כערך במטרים מעל קרקעית הים. אם הנקודה נמצאת מעל הקרקע ולא הים, היא תפורש כגובה מעל פני הקרקע.
  • clampToSeaFloor - המערכת מתעלמת ממפרט הגובה, והנקודה תמוקם על קרקעית הים. אם הנקודה נמצאת על הקרקע ולא בים, הנקודה תמוקם על הקרקע.
<מתי>
ערך time שתואם ל-position (מצוין ברכיב <gx:coord>). מספר רכיבי <when> ב-<Track> חייב להיות שווה למספר האלמנטים של <gx:coord> (ורכיבי <gx:angles>, אם הם כלולים).
<gx:coord>
ערך קואורדינטה המורכב משלושה ערכים לקווי אורך, קו רוחב וגובה, ללא סימני הפרדה באמצעות פסיק. לדוגמה:
<gx:coord>-122.207881 37.371915 156.000000</gx:coord>

שימו לב שהתחביר של הרכיב <gx:coord> שונה מהתחביר של האלמנט <coordinates>, שבו יש הפרדה בין הרכיבים של קווי האורך, קווי הרוחב והגובה. מספר האלמנטים של שצוין צריך להיות שווה למספר הפעמים () ולמיקום (). במידת הצורך, אפשר לציין אלמנט <gx:coord> ריק עבור ערך חסר.

<gx:angles>
הערך הזה משמש לציון ערך נוסף של כותרת, הטיה וגליל בסמל או במודל, לכל פעם/מיקום במסלול. שלושת ערכי הנקודות הצפים מפורטים ללא מפרידים לפסיק ומייצגים דרגות סיבוב. אם לא צוין <gx:angles>, Google Earth מסיק את הכותרת, ההטיה וההרצה של האובייקט מהמסלול שלו. מספר האלמנטים של <gx:angles> צריך להיות שווה למספר הפעמים (<<>>) ולמיקום (<gx:coord>). במקרה הצורך, אפשר לציין אלמנט <gx:angles> ריק עבור ערך חסר.

בשלב זה, סמלים תומכים בכותרת בלבד, אך מודלים תומכים בכל שלושת הערכים.

דוגמה להגדרת הערך הזה:

<gx:angles>45.54676 66.2342 77.0</gx:angles>
<מודל>
אם צוין, המודל מחליף את סמל הנקודה שמציין את המיקום הנוכחי במסלול. כשמצוינים <Model> בתוך <gx:Track>, האלמנטים הצאצאים של <Model> פועלים:
  • המערכת מתעלמת מהרכיב <Location>.
  • מתבצעת התעלמות מהרכיב <heightMode> .
  • הערך של <Orientation> משולב עם כיוון הרצועה באופן הבא. קודם כל, מופעל הסיבוב <Orientation>, שמעביר את המודל ממערכת הקואורדינטות המקומית (x, y, z) לכיוון ימין ופונה לכיוון צפון. בשלב הבא, מופעל סיבוב שתואם לאינטרפולציה של ערכי <gx:angles> המשפיעים על הכותרת, ההטיה וההרצה של המודל בזמן המעבר לאורך המסלול. אם לא צוינו זוויות, המערכת מסיקה את הכותרת ואת ההטיה מתנועת המודל.

    טיפ: אם אינך בטוח כיצד לציין את הכיוון, השמט את הרכיב <Orientation> מ<מודל> וראה כיצד Google Earth ממקם את המודל בזמן שהוא נע לאורך המסלול. אם הבחנת שהחזית של המודל פונה הצידה, שנה את הרכיב <headline> ב-<Orientation> כדי לסובב את המודל כך שיפנה לחזית. אם המודל אינו ישון, נסה לשנות את האלמנטים <tilt> או <roll>.

<מורחב נתונים>

רכיבי נתונים מותאמים אישית שהוגדרו ב-<Schema> מוקדם יותר בקובץ ה-KML.

לעיתים קרובות מומלץ להוסיף נתונים מורחבים המשויכים לכל זמן/מיקום במסלול. לדוגמה, רכיבות אופניים יכולות לכלול נתונים לגבי הדופק, קצב הלב וצריכת החשמל, כפי שמתואר בדוגמה למעקב אחר נתונים מורחבים. ב-<Schema>, מגדירים <gx:SimpleArrayField> לכל סוג נתונים בהתאמה אישית. לאחר מכן, לכל סוג נתונים, מוסיפים רכיב <gx:SimpleArrayData> שמכיל רכיבי <gx:value> שתואמים לכל זמן/מיקום במסלול. יש לעיין בפרק הוספת נתונים מותאמים אישית במדריך למפתחים של KML לקבלת מידע נוסף על הוספת שדות נתונים חדשים. ב-Google Earth, נתונים מותאמים אישית מוצגים בפרופיל גובה עבור המסלול.

דוגמה פשוטה

הדוגמה הבסיסית מאוד מראה איך ליצור 'מערכים' מקבילים של ערכים עבור <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>

דוגמה למעקב אחר נתונים מורחבים

סוג ההדגשה בדוגמה הזו מדגיש את הרכיבים המשמשים להגדרה ולציון של נתונים מותאמים אישית עבור רכיבה על אופניים. שדות הנתונים בהתאמה אישית נקראים 'לב', 'קצב' ו'עוצמה'. הרכיב <Schema> מגדיר את השם שיוצג לכל קבוצת ערכים (קצב לב, קצב ועוצמה) ומציין את סוג הנתונים לכל שדה חדש (הלב והקצב הם מסוג int, והעוצמה מסוג float). ב-Google Earth, הנתונים המותאמים אישית האלה מוצגים עם פרופיל הגובה של המסלול.

דוגמה זו מציגה באופן מציאותי יותר של מסלול, עם סמלים מותאמים אישית וסגנונות נפרדים של סמלים וקווים עבור הדגשות ומצבים רגילים. עם זאת, חשוב לציין שהדוגמה כוללת רק שבע קבוצות של ערכי נתונים. הדוגמה בפועל כוללת עשרות אלפי ערכים. (הנתונים באדיבות שון ברודר. הנתונים האלה נאספו עם 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>
  <targetHref>...</targetHref>    <!-- URL -->
  <Change>...</Change>
  <Create>...</Create>
  <Delete>...</Delete>
</Update>

תיאור

המדיניות הזאת קובעת הוספה, שינוי או מחיקה של נתוני KML שכבר נטענו באמצעות כתובת ה-URL שצוינה. התג <targetHref> מציין את הקובץ .KML או .kmz שיש לשנות את הנתונים שלו (בתוך Google Earth). <Update> תמיד כלול ב-NetworkLinkControl. נוסף על כך, הקובץ המכיל את ה-NetworkLinkControl חייב להיות נטען על ידי NetworkLink. כדי לקבל דוגמה מפורטת לאופן הפעולה של העדכון, אפשר לעיין בדף "נושאים ב-KML" בדף עדכונים.

רכיבים ספציפיים לעדכון

יכול להכיל כל מספר של רכיבים מסוג <Change>, <Create> ו-<Delete>, שיעברו עיבוד לפי הסדר.

<targetHref>(חובה)
כתובת URL שמציינת את הקובץ .tsv או .kmz שיש לשנות את הנתונים שלו (בתוך Google Earth) באמצעות רכיב <Update>. קובץ ה-KML הזה כבר נטען דרך <NetworkLink>. בקובץ הזה צריך להגדיר את הרכיב ה-id המפורש.
<שינוי>
משנים את הערכים ברכיב שכבר נטען באמצעות <NetworkLink>. בתוך האלמנט 'Change', הצאצא שרוצים לשנות צריך לכלול את המאפיין targetId שמפנה אל ה-id של הרכיב המקורי.
העדכון הזה יכול להיחשב כ"עדכון דלי": ברכיב המעודכן, רק הערכים המפורטים ב-<Change> מוחלפים, וכל שאר הערכים נשארים ללא שינוי. כשמחילים את <Change> על קבוצה של קואורדינטות, הקואורדינטות החדשות מחליפות את הקואורדינטות הנוכחיות.
הצאצאים של הרכיב הזה הם הרכיבים שרוצים לשנות, והם מזוהים על ידי המאפיין targetId.
<יצירה>
הוספה של רכיבים חדשים לתיקייה או למסמך שכבר נטענו דרך <NetworkLink>. הרכיב <targetHref> ב-<Update> מציין את כתובת ה-URL של הקובץ .KML או .kmz שהכילו את התיקייה או המסמך המקוריים. בקובץ הזה, התיקייה או המסמך שאמורים להכיל את הנתונים החדשים צריכים להיות מוגדרים id מפורש עבורם. ה-id הזה מופיע כמאפיין targetId של התיקייה או המסמך בתוך <Create>, שמכיל את הרכיב להוספה.
אחרי שיוצרים אובייקט וטוענים אותו ל-Google Earth, הוא מקבל את כתובת ה-URL של המסמך המקורי של תיקיית האב. כדי לבצע עדכונים נוספים לאובייקטים שנוספו באמצעות מנגנון עדכון/יצירה זה, יש להגדיר את <targetHref>לכתובת ה-URL של המסמך או התיקייה המקוריים (לא כתובת ה-URL של הקובץ שנטען את העדכונים).
<מחיקה>
מוחק תכונות מרכיב מורכב שכבר נטען באמצעות <NetworkLink>. הרכיב <targetHref> ב-<Update> מציין את הקובץ .KML או .kmz המכיל את הנתונים למחיקה. בקובץ הזה, הרכיב שרוצים למחוק חייב כבר להיות מוגדר לו id מפורש. הרכיב <Delete> מפנה אל ה-id הזה במאפיין targetId.
רכיבי צאצא של <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>

הדוגמה הזו יוצרת סמן חדש במסמך שנוצר בעבר, שיש לו id של "region24". אם ברצונך לבצע עדכונים נוספים ל-"markmark891", עדיין עליך להשתמש ב-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 Earth. (ייתכן שסמן זה נטען ישירות על ידי NetworkLink עם כתובת האתר שצוינה, או על ידי עדכון שבוצע לאחר מכן במסמך המקורי.)

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

נמצא ב

<כתובת URL>

הערה: הרכיב הזה הוצא משימוש בגרסה 2.1 של KML, והוא הוחלף ב-<Link>, שמספק את הפונקציונליות הנוספת של אזורים. התג <Url> עדיין יפעל ב-Google Earth, אך מומלץ להשתמש בתג <Link> החדש יותר.

השתמשו ברכיב הזה כדי להגדיר את המיקום של הקישור לקובץ ה-KML, להגדיר אפשרויות רענון עבור השרת והשינויים של הצופה, ולאכלס משתנה כדי להחזיר לשרת נתוני מידע שימושיים.

חזרה למעלה