لایه های KML و GeoRSS

پلتفرم مورد نظر را انتخاب کنید: اندروید، iOS، جاوا اسکریپت

KmlLayer عناصر KML و GeoRSS را در یک پوشش کاشی Maps JavaScript API رندر می‌کند.

نمای کلی

API جاوا اسکریپت Maps از فرمت‌های داده KML و GeoRSS برای نمایش اطلاعات جغرافیایی پشتیبانی می‌کند. این فرمت‌های داده با استفاده از یک شیء KmlLayer روی نقشه نمایش داده می‌شوند که سازنده آن URL یک فایل KML یا GeoRSS با دسترسی عمومی را می‌گیرد.

نکته: کلاس KmlLayer که لایه‌های KML را در Maps JavaScript API تولید می‌کند، از یک سرویس میزبانی‌شده توسط گوگل برای بازیابی و تجزیه فایل‌های KML جهت رندر استفاده می‌کند. در نتیجه، نمایش فایل‌های KML فقط در صورتی امکان‌پذیر است که در یک URL عمومی میزبانی شوند که برای دسترسی به آن نیازی به احراز هویت نباشد.

اگر به دسترسی به فایل‌های خصوصی، کنترل دقیق بر روی حافظه‌های پنهان یا ارسال نمای مرورگر به یک سرور داده‌های مکانی به عنوان پارامتر پرس‌وجو نیاز دارید، توصیه می‌کنیم به جای KmlLayer از لایه‌های داده استفاده کنید. این کار مرورگرهای کاربران شما را مستقیماً به درخواست منابع از سرور وب شما هدایت می‌کند.

API جاوا اسکریپت Maps، داده‌های XML جغرافیایی ارائه شده را به یک نمایش KML تبدیل می‌کند که با استفاده از یک پوشش کاشی Maps JavaScript API روی نقشه نمایش داده می‌شود. این KML مانند عناصر پوششی آشنای Maps JavaScript API به نظر می‌رسد (و تا حدودی رفتار می‌کند). عناصر point KML <Placemark> و GeoRSS به عنوان نشانگر رندر می‌شوند، به عنوان مثال، عناصر <LineString> به صورت چندخطی و عناصر <Polygon> به صورت چندضلعی رندر می‌شوند. به طور مشابه، عناصر <GroundOverlay> به صورت تصاویر مستطیلی روی نقشه رندر می‌شوند. نکته مهم این است که این اشیاء، Markers Maps JavaScript API، Polylines ، Polygons یا GroundOverlays نیستند . در عوض، آنها به صورت یک شیء واحد روی نقشه رندر می‌شوند.

اشیاء KmlLayer پس از تنظیم ویژگی map آنها، روی نقشه ظاهر می‌شوند. می‌توانید با فراخوانی تابع setMap() و ارسال null ، آنها را از نقشه حذف کنید. شیء KmlLayer با بازیابی خودکار ویژگی‌های مناسب برای مرزهای داده شده نقشه، رندر این عناصر فرزند را مدیریت می‌کند. با تغییر مرزها، ویژگی‌های موجود در نمای فعلی به طور خودکار رندر می‌شوند.

از آنجا که اجزای درون یک KmlLayer بنا به تقاضا رندر می‌شوند، این لایه به شما امکان می‌دهد رندر هزاران نشانگر، چندخطی و چندضلعی را به راحتی مدیریت کنید. توجه داشته باشید که نمی‌توانید مستقیماً به این اشیاء تشکیل‌دهنده دسترسی داشته باشید، اگرچه هر کدام رویدادهای کلیک را ارائه می‌دهند که داده‌های مربوط به آن اشیاء منفرد را برمی‌گردانند.

گزینه‌های لایه KML

سازنده‌ی KmlLayer() به صورت اختیاری تعدادی از KmlLayerOptions را ارسال می‌کند:

  • map Map مشخص می‌کند که KmlLayer روی آن رندر می‌شود. می‌توانید با تنظیم این مقدار به null در متد setMap() یک KmlLayer پنهان کنید.
  • preserveViewport مشخص می‌کند که هنگام نمایش لایه، نقشه نباید با مرزهای محتویات KmlLayer تنظیم شود. به طور پیش‌فرض، هنگام نمایش KmlLayer ، نقشه بزرگنمایی و موقعیت‌یابی می‌شود تا کل محتویات لایه را نشان دهد.
  • suppressInfoWindows نشان می‌دهد که ویژگی‌های قابل کلیک در KmlLayer نباید نمایش اشیاء InfoWindow را آغاز کنند.

علاوه بر این، پس از رندر شدن KmlLayer ، حاوی یک ویژگی metadata تغییرناپذیر است که شامل نام، توضیحات، قطعه کد و نویسنده لایه در یک شیء KmlLayerMetadata به صورت تحت‌اللفظی است. می‌توانید این اطلاعات را با استفاده از متد getMetadata() بررسی کنید. از آنجا که رندر کردن اشیاء KmlLayer نیاز به ارتباط ناهمزمان با یک سرور خارجی دارد، باید به رویداد metadata_changed گوش دهید، که نشان می‌دهد ویژگی پر شده است.

مثال زیر یک KmlLayer از فید GeoRSS داده شده می‌سازد:

تایپ اسکریپت

function initMap(): void {
  const map = new google.maps.Map(
    document.getElementById("map") as HTMLElement,
    {
      zoom: 4,
      center: { lat: 49.496675, lng: -102.65625 },
    }
  );

  const georssLayer = new google.maps.KmlLayer({
    url:
      "http://api.flickr.com/services/feeds/geo/?g=322338@N20&lang=en-us&format=feed-georss",
  });
  georssLayer.setMap(map);
}

declare global {
  interface Window {
    initMap: () => void;
  }
}
window.initMap = initMap;

جاوا اسکریپت

function initMap() {
  const map = new google.maps.Map(document.getElementById("map"), {
    zoom: 4,
    center: { lat: 49.496675, lng: -102.65625 },
  });
  const georssLayer = new google.maps.KmlLayer({
    url: "http://api.flickr.com/services/feeds/geo/?g=322338@N20&lang=en-us&format=feed-georss",
  });

  georssLayer.setMap(map);
}

window.initMap = initMap;

سی‌اس‌اس

/* 
 * Always set the map height explicitly to define the size of the div element
 * that contains the map. 
 */
#map {
  height: 100%;
}

/* 
 * Optional: Makes the sample page fill the window. 
 */
html,
body {
  height: 100%;
  margin: 0;
  padding: 0;
}

اچ‌تی‌ام‌ال

<html>
  <head>
    <title>GeoRSS Layers</title>

    <link rel="stylesheet" type="text/css" href="./style.css" />
    <script type="module" src="./index.js"></script>
  </head>
  <body>
    <div id="map"></div>

    <!-- 
      The `defer` attribute causes the script to execute after the full HTML
      document has been parsed. For non-blocking uses, avoiding race conditions,
      and consistent behavior across browsers, consider loading using Promises. See
      https://developers.google.com/maps/documentation/javascript/load-maps-js-api
      for more information.
      -->
    <script
      src="https://maps.googleapis.com/maps/api/js?key=AIzaSyB41DRUbKWJHPxaFjMAwdrzWzbVKartNGg&callback=initMap&v=weekly"
      defer
    ></script>
  </body>
</html>

نمونه را امتحان کنید

مثال زیر یک KmlLayer از فید KML داده شده می‌سازد:

تایپ اسکریپت

function initMap(): void {
  const map = new google.maps.Map(
    document.getElementById("map") as HTMLElement,
    {
      zoom: 11,
      center: { lat: 41.876, lng: -87.624 },
    }
  );

  const ctaLayer = new google.maps.KmlLayer({
    url: "https://googlearchive.github.io/js-v2-samples/ggeoxml/cta.kml",
    map: map,
  });
}

declare global {
  interface Window {
    initMap: () => void;
  }
}
window.initMap = initMap;

جاوا اسکریپت

function initMap() {
  const map = new google.maps.Map(document.getElementById("map"), {
    zoom: 11,
    center: { lat: 41.876, lng: -87.624 },
  });
  const ctaLayer = new google.maps.KmlLayer({
    url: "https://googlearchive.github.io/js-v2-samples/ggeoxml/cta.kml",
    map: map,
  });
}

window.initMap = initMap;

سی‌اس‌اس

/* 
 * Always set the map height explicitly to define the size of the div element
 * that contains the map. 
 */
#map {
  height: 100%;
}

/* 
 * Optional: Makes the sample page fill the window. 
 */
html,
body {
  height: 100%;
  margin: 0;
  padding: 0;
}

اچ‌تی‌ام‌ال

<html>
  <head>
    <title>KML Layers</title>

    <link rel="stylesheet" type="text/css" href="./style.css" />
    <script type="module" src="./index.js"></script>
  </head>
  <body>
    <div id="map"></div>

    <!-- 
      The `defer` attribute causes the script to execute after the full HTML
      document has been parsed. For non-blocking uses, avoiding race conditions,
      and consistent behavior across browsers, consider loading using Promises. See
      https://developers.google.com/maps/documentation/javascript/load-maps-js-api
      for more information.
      -->
    <script
      src="https://maps.googleapis.com/maps/api/js?key=AIzaSyB41DRUbKWJHPxaFjMAwdrzWzbVKartNGg&callback=initMap&v=weekly"
      defer
    ></script>
  </body>
</html>

نمونه را امتحان کنید

جزئیات ویژگی KML

از آنجا که KML ممکن است شامل تعداد زیادی ویژگی باشد، ممکن است نتوانید مستقیماً از شیء KmlLayer به داده‌های ویژگی دسترسی پیدا کنید. در عوض، هنگامی که ویژگی‌ها نمایش داده می‌شوند، به گونه‌ای رندر می‌شوند که مانند پوشش‌های API جاوا اسکریپت Maps قابل کلیک به نظر برسند. کلیک بر روی ویژگی‌های منفرد، به طور پیش‌فرض، یک InfoWindow حاوی اطلاعات KML <title> و <description> در مورد ویژگی داده شده را نمایش می‌دهد. علاوه بر این، کلیک بر روی یک ویژگی KML یک KmlMouseEvent ایجاد می‌کند که اطلاعات زیر را ارسال می‌کند:

  • position مختصات عرض/طول جغرافیایی را نشان می‌دهد که باید InfoWindow برای این ویژگی KML در آن قرار گیرد. این موقعیت عموماً محل کلیک شده برای چندضلعی‌ها، چندخطی‌ها و GroundOverlayها است، اما مبدأ واقعی برای نشانگرها می‌باشد.
  • pixelOffset نشان‌دهنده‌ی میزان انحراف از position بالا برای ثابت نگه‌داشتن «دم» InfoWindow است. برای اشیاء چندضلعی، این انحراف معمولاً 0,0 است، اما برای نشانگرها شامل ارتفاع نشانگر می‌شود.
  • featureData شامل یک ساختار JSON از KmlFeatureData است.

یک نمونه شیء KmlFeatureData در زیر نشان داده شده است:

{
  author: {
    email: "nobody@google.com",
    name: "Mr Nobody",
    uri: "http://example.com"
  },
  description: "description",
  id: "id",
  infoWindowHtml: "html",
  name: "name",
  snippet: "snippet"
}

مثال زیر متن <Description> مربوط به ویژگی KML را هنگام کلیک روی آن، درون یک <div> کناری نمایش می‌دهد:

تایپ اسکریپت

function initMap(): void {
  const map = new google.maps.Map(
    document.getElementById("map") as HTMLElement,
    {
      zoom: 12,
      center: { lat: 37.06, lng: -95.68 },
    }
  );

  const kmlLayer = new google.maps.KmlLayer({
    url: "https://raw.githubusercontent.com/googlearchive/kml-samples/gh-pages/kml/Placemark/placemark.kml",
    suppressInfoWindows: true,
    map: map,
  });

  kmlLayer.addListener("click", (kmlEvent) => {
    const text = kmlEvent.featureData.description;

    showInContentWindow(text);
  });

  function showInContentWindow(text: string) {
    const sidebar = document.getElementById("sidebar") as HTMLElement;

    sidebar.innerHTML = text;
  }
}

declare global {
  interface Window {
    initMap: () => void;
  }
}
window.initMap = initMap;

جاوا اسکریپت

function initMap() {
  const map = new google.maps.Map(document.getElementById("map"), {
    zoom: 12,
    center: { lat: 37.06, lng: -95.68 },
  });
  const kmlLayer = new google.maps.KmlLayer({
    url: "https://raw.githubusercontent.com/googlearchive/kml-samples/gh-pages/kml/Placemark/placemark.kml",
    suppressInfoWindows: true,
    map: map,
  });

  kmlLayer.addListener("click", (kmlEvent) => {
    const text = kmlEvent.featureData.description;

    showInContentWindow(text);
  });

  function showInContentWindow(text) {
    const sidebar = document.getElementById("sidebar");

    sidebar.innerHTML = text;
  }
}

window.initMap = initMap;

سی‌اس‌اس

/* Optional: Makes the sample page fill the window. */
html,
body {
  height: 100%;
  margin: 0;
  padding: 0;
}

#container {
  height: 100%;
  display: flex;
}

#sidebar {
  flex-basis: 15rem;
  flex-grow: 1;
  padding: 1rem;
  max-width: 30rem;
  height: 100%;
  box-sizing: border-box;
  overflow: auto;
}

#map {
  flex-basis: 0;
  flex-grow: 4;
  height: 100%;
}

اچ‌تی‌ام‌ال

<html>
  <head>
    <title>KML Feature Details</title>

    <link rel="stylesheet" type="text/css" href="./style.css" />
    <script type="module" src="./index.js"></script>
  </head>
  <body>
    <div id="container">
      <div id="map"></div>
      <div id="sidebar"></div>
    </div>

    <!-- 
      The `defer` attribute causes the script to execute after the full HTML
      document has been parsed. For non-blocking uses, avoiding race conditions,
      and consistent behavior across browsers, consider loading using Promises. See
      https://developers.google.com/maps/documentation/javascript/load-maps-js-api
      for more information.
      -->
    <script
      src="https://maps.googleapis.com/maps/api/js?key=AIzaSyB41DRUbKWJHPxaFjMAwdrzWzbVKartNGg&callback=initMap&v=weekly"
      defer
    ></script>
  </body>
</html>

نمونه را امتحان کنید

محدودیت‌های اندازه و پیچیدگی برای رندر KML

API جاوا اسکریپت Maps محدودیت‌هایی در اندازه و پیچیدگی فایل‌های KML بارگذاری شده دارد. در زیر خلاصه‌ای از محدودیت‌های فعلی آمده است.

توجه: این محدودیت‌ها ممکن است در هر زمانی تغییر کنند.

حداکثر اندازه فایل دریافتی (KML خام، GeoRSS خام یا KMZ فشرده)
۳ مگابایت
حداکثر اندازه فایل KML فشرده نشده
۱۰ مگابایت
حداکثر اندازه فایل تصویر فشرده نشده در فایل‌های KMZ
۵۰۰ کیلوبایت برای هر فایل
حداکثر تعداد لینک‌های شبکه
۱۰
حداکثر تعداد کل ویژگی‌های کل سند
۱۰۰۰
تعداد لایه‌های KML
محدودیتی در تعداد لایه‌های KML که می‌توانند روی یک نقشه گوگل نمایش داده شوند، وجود دارد. اگر از این محدودیت تجاوز کنید، هیچ یک از لایه‌های شما روی نقشه ظاهر نمی‌شوند و خطایی در کنسول جاوا اسکریپت مرورگر وب شما گزارش می‌شود. این محدودیت بر اساس ترکیبی از تعداد کلاس‌های KmlLayer ایجاد شده و طول کل تمام URL های استفاده شده برای ایجاد آن لایه‌ها تعیین می‌شود. هر KmlLayer جدیدی که ایجاد می‌کنید، بخشی از محدودیت برای لایه و بخش دیگری از محدودیت را بسته به طول URL که فایل KML از آن بارگذاری شده است، اشغال می‌کند. در نتیجه، تعداد لایه‌هایی که می‌توانید اضافه کنید بسته به کاربرد متفاوت خواهد بود. به طور متوسط، باید بتوانید بین 10 تا 20 لایه را بدون عبور از محدودیت بارگذاری کنید. اگر هنوز به محدودیت رسیدید، از یک کوتاه‌کننده URL برای کوتاه کردن URL های KML استفاده کنید. روش دیگر، ایجاد یک فایل KML واحد متشکل از NetworkLinks به URL های KML جداگانه است.

ملاحظات عملکرد و ذخیره‌سازی در حافظه پنهان

سرورهای گوگل فایل‌های KML را به طور موقت ذخیره می‌کنند تا بار روی سرورهای شما کاهش یابد. این کار همچنین با ارائه نمایشی از بخش‌های مناسب فایل KML شما که از نظر فضا کارآمد است، عملکرد را برای کاربران شما بهبود می‌بخشد، زیرا کاربران شما روی نقشه کلیک می‌کنند، آن را جابجا می‌کنند و بزرگنمایی می‌کنند.

برای بهترین عملکرد، توصیه می‌کنیم که:

  • از یک تگ <expires> مناسب در KML استفاده کنید.

    KmlLayer هنگام تصمیم‌گیری در مورد نحوه‌ی ذخیره‌سازی فایل‌های KML از هدرهای HTTP استفاده نخواهد کرد.
  • فایل‌ها را به صورت پویا در زمان درخواست تولید نکنید.

    در عوض، فایل‌ها را قبل از اینکه مورد نیاز شوند، تولید کنید و به صورت ایستا به آنها سرویس دهید. اگر مدت زمان زیادی طول بکشد تا سرور شما فایل KML را ارسال کند، ممکن است KmlLayer نمایش داده نشود.
  • سعی نکنید از حافظه‌های پنهان عبور کنید، مگر اینکه قطعاً بدانید که فایل شما به‌روزرسانی شده است.

    دور زدن همیشگی حافظه‌های پنهان (مثلاً با اضافه کردن یک عدد تصادفی یا زمان ساعت کاربر به عنوان پارامتر پرس‌وجو) می‌تواند به راحتی باعث شود سرورهای شما در صورت محبوبیت ناگهانی سایتتان و ارائه فایل‌های KML حجیم، دچار مشکل شوند.

    همچنین اگر ساعت هر کاربر نادرست باشد و برچسب <expires> به درستی تنظیم نشده باشد، می‌تواند باعث شود که حافظه پنهان، داده‌های قدیمی را به کاربران ارائه دهد.

    در عوض، فایل‌های استاتیک به‌روزرسانی‌شده را با یک شماره ویرایش جدید و گسسته منتشر کنید و از کد سمت سرور برای به‌روزرسانی پویای URL ارسالی به KmlLayer با نسخه فعلی استفاده کنید.
  • تغییرات در فایل‌های KML خود را به یک بار در دقیقه محدود کنید.

    اگر حجم همه فایل‌ها (بدون فشرده‌سازی) بیش از ۱ مگابایت باشد، تغییرات را به هر ۵ دقیقه یک بار محدود کنید.
  • هنگام استفاده از سرور داده‌های مکانی، از استفاده از پارامترهای پرس‌وجو برای محدود کردن نمای لایه‌ها خودداری کنید.

    در عوض، می‌توانید با استفاده از رویداد bounds_changed محدوده‌ی دید نقشه را محدود کنید. فقط ویژگی‌هایی برای کاربران ارسال می‌شود که می‌توانند به طور خودکار نمایش داده شوند.

    اگر حجم زیادی از داده‌ها در سرور داده‌های مکانی شما وجود دارد، به جای آن از لایه‌های داده استفاده کنید.
  • هنگام استفاده از یک سرور داده جغرافیایی، برای هر گروه از ویژگی‌هایی که می‌خواهید به کاربران اجازه دهید بین آنها جابجا شوند، به جای یک KmlLayer واحد با پارامترهای جستجوی مختلف، از چندین KmlLayer استفاده کنید.
  • برای کاهش حجم فایل، از فایل‌های فشرده KMZ استفاده کنید.
  • اگر از فضای ذخیره‌سازی ابری گوگل یا سایر راهکارهای ذخیره‌سازی ابری استفاده می‌کنید، از استفاده از ویژگی‌هایی مانند URLهای امضا شده یا توکن‌های موقت برای اعمال کنترل‌های دسترسی خودداری کنید . این موارد می‌توانند ناخواسته مانع از ذخیره‌سازی شوند.
  • دقت همه نقاط را به یک دقت مناسب کاهش دهید.
  • هندسه عوارض مشابه، مانند چندضلعی‌ها و چندخطی‌ها را ادغام و ساده‌سازی کنید.
  • هرگونه عنصر یا منبع تصویری بلااستفاده را حذف کنید.
  • هر عنصر پشتیبانی نشده را حذف کنید.

اگر نیاز به دسترسی به داده‌های خصوصی، جلوگیری از ذخیره‌سازی در حافظه پنهان یا ارسال نمای مرورگر به یک سرور داده‌های مکانی به عنوان پارامتر پرس‌وجو دارید، توصیه می‌کنیم به جای KmlLayer از لایه‌های داده استفاده کنید. این کار مرورگرهای کاربران شما را مستقیماً به درخواست منابع از سرور وب شما هدایت می‌کند.

عناصر KML پشتیبانی شده

API جاوا اسکریپت Maps از عناصر KML زیر پشتیبانی می‌کند. تجزیه‌کننده KML معمولاً تگ‌های XML که نمی‌فهمد را بی‌سروصدا نادیده می‌گیرد.

  • مکان‌نماها
  • آیکن‌ها
  • پوشه‌ها
  • HTML توصیفی - جایگزینی موجودیت از طریق <BalloonStyle> و <text>
  • KMZ (فرمت فشرده KML، شامل تصاویر پیوست شده)
  • چندخطی‌ها و چندضلعی‌ها
  • سبک‌هایی برای چندخطی‌ها و چندضلعی‌ها، شامل رنگ، پر کردن و شفافیت
  • لینک‌های شبکه برای وارد کردن داده‌ها به صورت پویا
  • پوشش‌های زمینی و پوشش‌های توری

جدول زیر جزئیات کامل عناصر KML پشتیبانی شده را ارائه می‌دهد.

عنصر KML در API پشتیبانی می‌شود؟ نظر دهید
<آدرس> خیر
<جزئیات آدرس> خیر
<نام مستعار> ناموجود <Model> پشتیبانی نمی‌شود
<ارتفاع> خیر
<حالت ارتفاع> خیر
<atom:author> بله
<atom:link> بله
<atom:name> بله
<سبک بادکنک> تا حدی فقط <text> پشتیبانی می‌شود
<شروع> ناموجود <TimeSpan> پشتیبانی نمی‌شود
<رنگ زمینه> خیر
<پایین‌ترین قسمت> ناموجود <PhotoOverlay> پشتیبانی نمی‌شود
<دوربین> خیر
<تغییر> تا حدی فقط تغییرات سبک پشتیبانی می‌شوند
<رنگ> تا حدی شامل #AABBGGRR و #BBGGRR می‌شود؛ در <IconStyle>، <ScreenOverlay> و <GroundOverlay> پشتیبانی نمی‌شود.
<حالت رنگ> خیر
<کوکی> خیر
<مختصات> بله
<ایجاد> خیر
<داده> بله
<حذف> خیر
<توضیحات> بله محتوای HTML مجاز است اما برای محافظت در برابر حملات بین مرورگری، پاکسازی می‌شود. جایگزینی موجودیت‌ها به شکل $[ dataName ] پشتیبانی نمی‌شود.
<حالت نمایش> خیر
<نام نمایش> خیر
<سند> تا حدی به طور ضمنی، فرزندان پشتیبانی می‌شوند؛ هیچ تاثیری به عنوان فرزند سایر ویژگی‌ها ندارد
<drawOrder> خیر
<شرق> بله
<پایان> ناموجود <TimeSpan> پشتیبانی نمی‌شود
<منقضی می‌شود> بله برای جزئیات به بخش خلاصه مراجعه کنید
<داده‌های توسعه‌یافته> تا حدی فقط <Data> بدون نوع، بدون <SimpleData> یا <Schema>، و جایگزینی‌های موجودیت به شکل $[ dataName ] پشتیبانی نمی‌شوند.
<اکسترود> خیر
<پر کردن> بله
<flyToView> خیر
<پوشه> بله
<رنگ جغرافیایی> خیر منسوخ شده
<مجموعه هندسه> خیر منسوخ شده
<مقیاس جغرافیایی> خیر منسوخ شده
<مبدا شبکه> ناموجود <PhotoOverlay> پشتیبانی نمی‌شود
<پوشش زمینه> بله قابل چرخش نیست
<h> بله منسوخ شده
<عنوان> بله
اشاره بله target=... پشتیبانی می‌شود
<هات اسپات> بله
<هرف> بله
<httpQuery> خیر
<آیکون> بله قابل چرخش نیست
<آیکون استایل> بله
<هرم تصویر> ناموجود <PhotoOverlay> پشتیبانی نمی‌شود
<innerBoundaryIs> بله به طور ضمنی از ترتیب <LinearRing>
<آیکون آیتم> ناموجود <ListStyle> پشتیبانی نمی‌شود
<کلید> ناموجود <StyleMap> پشتیبانی نمی‌شود
<کمیل> بله
<رنگ برچسب> خیر منسوخ شده
<سبک برچسب> خیر
<عرض جغرافیایی> بله
<LatLonAltBox> بله
<LatLonBox> بله
<leftFov> ناموجود <PhotoOverlay> پشتیبانی نمی‌شود
<حلقه خطی> بله
<رشته خطی> بله
<سبک خط> بله
<لینک> بله
<لینکتوضیحات> خیر
<نام پیوند> خیر
<linkSnippet> خیر
<نوع لیست اقلام> ناموجود <ListStyle> پشتیبانی نمی‌شود
<سبک لیست> خیر
<مکان> ناموجود <Model> پشتیبانی نمی‌شود
<لود> بله
<طول جغرافیایی> بله
<نگاه کنید> خیر
<حداکثر ارتفاع> بله
<maxFadeExtent> بله
<حداکثر ارتفاع> ناموجود <PhotoOverlay> پشتیبانی نمی‌شود
<maxLodPixels> بله
<maxSessionLength> خیر
<حداکثر عرض> ناموجود <PhotoOverlay> پشتیبانی نمی‌شود
<پیام> خیر
<فراداده> خیر منسوخ شده
<حداقل ارتفاع> بله
<minFadeExtent> بله
<minLodPixels> بله
<minRefreshPeriod> خیر <لینک شبکه>
<مدل> خیر
<چندهندسه> تا حدی رندر شده اما به عنوان ویژگی‌های جداگانه در پنل سمت چپ نمایش داده می‌شود
<نام> بله
<نزدیک> ناموجود <PhotoOverlay> پشتیبانی نمی‌شود
<لینک شبکه> بله
<کنترل لینک شبکه> تا حدی <Update> و <expires> تا حدی پشتیبانی می‌شوند. API تنظیمات انقضا در هدرهای HTTP را نادیده می‌گیرد، اما از تنظیمات انقضای مشخص شده در KML استفاده می‌کند. در صورت عدم وجود تنظیمات انقضا، یا در بازه زمانی اعتبار، Google Maps ممکن است داده‌های دریافتی از اینترنت را برای مدت زمان نامشخصی ذخیره کند. بازیابی داده‌ها از اینترنت را می‌توان با تغییر نام سند و دریافت آن تحت یک URL متفاوت، یا با اطمینان از اینکه سند حاوی تنظیمات انقضای مناسب است، اجباری کرد.
<شمال> بله
باز کردن بله
<جهت> ناموجود <Model> پشتیبانی نمی‌شود
<outerBoundaryIs> بله به طور ضمنی از ترتیب <LinearRing>
<طرح کلی> بله
<پوششXY> خیر
<جفت> ناموجود <StyleMap> پشتیبانی نمی‌شود
<شماره تلفن> خیر
<پوشش عکس> خیر
<نشانه مکان> بله
<نقطه> بله
<چندضلعی> بله
<پلی‌استایل> بله
<محدوده> بله
<فاصله تازه‌سازی> تا حدی فقط <لینک>؛ نه در <آیکون>
<حالت تازه‌سازی> بله هدرهای HTTP برای حالت "onExpire" پشتیبانی نمی‌شوند. به نکات مربوط به <Update> و <expires> در بالا مراجعه کنید.
<refreshVisibility> خیر
<منطقه> بله
<نقشه منابع> ناموجود <Model> پشتیبانی نمی‌شود
<rightFov> ناموجود <PhotoOverlay> پشتیبانی نمی‌شود
<رول> ناموجود <Camera> و <Model> پشتیبانی نمی‌شوند
<چرخش> خیر
چرخش XY خیر
<مقیاس> ناموجود <Model> پشتیبانی نمی‌شود
<مقیاس> خیر
<طرحواره> خیر
<داده‌های طرحواره> خیر
<پوشش صفحه> بله قابل چرخش نیست
<screenXY> خیر
شکل ناموجود <PhotoOverlay> پشتیبانی نمی‌شود
<داده‌های ساده> ناموجود <SchemaData> پشتیبانی نمی‌شود
<فیلد ساده> ناموجود <Schema> پشتیبانی نمی‌شود
<اندازه> بله
<قطعه کد> بله
<جنوب> بله
<وضعیت> ناموجود <ListStyle> پشتیبانی نمی‌شود
<سبک> بله
<نقشه سبک> خیر جلوه‌های rollover (هایلایت) پشتیبانی نمی‌شوند
<styleUrl> ناموجود <StyleMap> پشتیبانی نمی‌شود
<targetHref> تا حدی در <Update> پشتیبانی می‌شود، نه در <Alias>
<موزیک‌کاری> خیر
متن بله جایگزینی $[geDirections] پشتیبانی نمی‌شود.
<رنگ متن> خیر
<اندازه کاشی> ناموجود <PhotoOverlay> پشتیبانی نمی‌شود
<شیب> خیر
<بازه زمانی> خیر
<مهر زمانی> خیر
<topFov> ناموجود <PhotoOverlay> پشتیبانی نمی‌شود
<به‌روزرسانی> تا حدی فقط تغییرات سبک، نه <Create> یا <Delete>
<آدرس اینترنتی> بله منسوخ شده
<مقدار> بله
<viewBoundScale> خیر
<viewFormat> خیر
<viewRefreshMode> تا حدی "onStop" پشتیبانی می‌شود
<viewRefreshTime> بله
<مشاهده‌ی حجم> ناموجود <PhotoOverlay> پشتیبانی نمی‌شود
<قابلیت مشاهده> تا حدی بله روی <Folder> - مکان‌نماهای فرزند، قابلیت دیده شدن خود را به ارث می‌برند
<w> بله منسوخ شده
<غرب> بله
<چه زمانی> ناموجود <TimeStamp> پشتیبانی نمی‌شود
<عرض> بله
<x> بله منسوخ شده
<ی> بله منسوخ شده