KML ve GeoRSS Katmanları

Platform seçin: Android iOS JavaScript

KmlLayer, KML ve GeoRSS öğelerini bir Maps JavaScript API karo yer paylaşımı olarak oluşturur.

Genel Bakış

Maps JavaScript API, coğrafi bilgileri görüntülemek için KML ve GeoRSS veri biçimlerini destekler. Bu veri biçimleri, bir KmlLayer nesnesi kullanılarak haritada görüntülenir. Bu nesnenin kurucusu, herkese açık bir KML veya GeoRSS dosyasının URL'sini alır.

Not: Maps JavaScript API'de KML yer paylaşımları oluşturan KmlLayer sınıfı, oluşturma için KML dosyalarını almak ve ayrıştırmak üzere Google tarafından barındırılan bir hizmet kullanır. Bu nedenle, KML dosyalarının görüntülenebilmesi için herkese açık bir URL'de barındırılması ve bu URL'ye erişmek için kimlik doğrulama gerekmemesi gerekir.

Gizli dosyalara erişmeniz, önbellekler üzerinde ayrıntılı kontrol sahibi olmanız veya tarayıcı görüntü alanını bir sorgu parametresi olarak coğrafi veri sunucusuna göndermeniz gerekiyorsa KmlLayer yerine veri katmanlarını kullanmanızı öneririz. Bu, kullanıcılarınızın tarayıcısını doğrudan web sunucunuzdan kaynak isteyecek şekilde yönlendirir.

Maps JavaScript API, sağlanan coğrafi XML verilerini bir KML temsiline dönüştürür. Bu temsil, Maps JavaScript API karo yer paylaşımı kullanılarak haritada görüntülenir. Bu KML, bilinen Maps JavaScript API yer paylaşımı öğelerine benzer (ve bir şekilde benzer şekilde çalışır). KML <Placemark> ve GeoRSS point öğeleri işaretçi olarak oluşturulur. Örneğin, <LineString> öğeleri çoklu çizgi olarak, <Polygon> öğeleri ise poligon olarak oluşturulur. Benzer şekilde, <GroundOverlay> öğeleri haritada dikdörtgen resimler olarak oluşturulur. Ancak bu nesnelerin Maps JavaScript API Markers, Polylines, Polygons veya GroundOverlays olmadığı önemlidir. Bunun yerine, harita üzerinde tek bir nesne olarak oluşturulurlar.

KmlLayer nesneleri, map özelliği ayarlandıktan sonra haritada görünür. setMap() çağrısı yaparak null parametresini ileterek bunları haritadan kaldırabilirsiniz. KmlLayer nesnesi, haritanın belirli sınırlarına uygun özellikleri otomatik olarak alarak bu alt öğelerin oluşturulmasını yönetir. Sınırlar değiştikçe mevcut görüntü alanındaki özellikler otomatik olarak oluşturulur.

Bir KmlLayer içindeki bileşenler isteğe bağlı olarak oluşturulduğundan katman, binlerce işaretçi, çoklu çizgi ve poligonun oluşturulmasını kolayca yönetmenize olanak tanır. Her biri, ilgili öğelerle ilgili veriler döndüren tıklama etkinlikleri sağlasa da bu bileşen öğelerine doğrudan erişemeyeceğinizi unutmayın.

KML katmanı seçenekleri

KmlLayer() oluşturucu isteğe bağlı olarak bir dizi KmlLayerOptions iletir:

  • map, KmlLayer öğesinin oluşturulacağı Map öğesini belirtir. setMap() yönteminde bu değeri null olarak ayarlayarak KmlLayer değerini gizleyebilirsiniz.
  • preserveViewport, katman gösterilirken haritanın KmlLayer içeriğinin sınırlarına göre ayarlanmaması gerektiğini belirtir. Varsayılan olarak, KmlLayer gösterilirken harita, katmanın içeriğinin tamamını gösterecek şekilde yakınlaştırılır ve konumlandırılır.
  • suppressInfoWindows, KmlLayer içindeki tıklanabilir özelliklerin InfoWindow nesnelerinin görüntülenmesini tetiklememesi gerektiğini belirtir.

Ayrıca, KmlLayer oluşturulduktan sonra, bir KmlLayerMetadata nesne değişmezi içinde katmanın adını, açıklamasını, snippet'ini ve yazarını içeren, değiştirilemeyen bir metadata mülkü içerir. Bu bilgileri getMetadata() yöntemini kullanarak inceleyebilirsiniz. KmlLayer nesnelerinin oluşturulması harici bir sunucuyla asenkron iletişim gerektirdiğinden, mülkün doldurulduğunu belirten metadata_changed etkinliğini dinlemeniz gerekir.

Aşağıdaki örnekte, belirli bir GeoRSS özet akışında KmlLayer oluşturulmaktadır:

TypeScript

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;

JavaScript

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;

CSS

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

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

Örneği Deneyin

Aşağıdaki örnekte, belirli bir KML feed'inden bir KmlLayer oluşturulmaktadır:

TypeScript

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;

JavaScript

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;

CSS

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

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

Örneği Deneyin

KML özelliği ayrıntıları

KML çok sayıda özellik içerebileceğinden KmlLayer nesnesinden doğrudan özellik verilerine erişemeyebilirsiniz. Bunun yerine, özellikler görüntülenirken tıklanabilir Maps JavaScript API yer paylaşımları gibi görünecek şekilde oluşturulur. Bireysel özellikleri tıkladığınızda varsayılan olarak, söz konusu özellikle ilgili KML <title> ve <description> bilgilerini içeren bir InfoWindow açılır. Ayrıca, bir KML özelliği tıklandığında aşağıdaki bilgileri aktaran bir KmlMouseEvent oluşturulur:

  • position, bu KML özelliği için InfoWindow öğesinin sabitleneceği enlem/boylam koordinatlarını belirtir. Bu konum genellikle poligonlar, çoklu çizgiler ve GroundOverlay'lar için tıklanan konumdur ancak işaretçiler için gerçek kaynaktır.
  • pixelOffset, InfoWindow "kuyruğunu" sabitlemek için yukarıdaki position ile olan ofseti gösterir. Poligonal nesneler için bu ofset genellikle 0,0'dır ancak işaretçiler için işaretçinin yüksekliğini içerir.
  • featureData, KmlFeatureData değerinin JSON yapısını içerir.

Aşağıda örnek bir KmlFeatureData nesnesi gösterilmektedir:

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

Aşağıdaki örnekte, özellik tıklandığında <div> tarafında KML özelliği <Description> metni gösterilmektedir:

TypeScript

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;

JavaScript

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;

CSS

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

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

Örneği Deneyin

KML oluşturma için boyut ve karmaşıklık kısıtlamaları

Maps JavaScript API, yüklenen KML dosyalarının boyutu ve karmaşıklığı konusunda sınırlamalara sahiptir. Geçerli sınırların özetini aşağıda bulabilirsiniz.

Not: Bu sınırlar herhangi bir zamanda değişebilir.

Maksimum getirilen dosya boyutu (ham KML, ham GeoRSS veya sıkıştırılmış KMZ)
3MB
Maksimum sıkıştırılmamış KML dosyası boyutu
10MB
KMZ dosyalarında sıkıştırılmamış maksimum resim dosyası boyutu
Dosya başına 500 KB
Maksimum ağ bağlantısı sayısı
10
Doküman genelindeki özelliklerin maksimum sayısı
1.000
KML katman sayısı
Tek bir Google Haritası'nda görüntülenebilecek KML katmanı sayısıyla ilgili bir sınır vardır. Bu sınırı aşarsanız katmanlarınızın hiçbiri haritada görünmez ve web tarayıcınızın JavaScript konsolunda bir hata bildirilir. Sınır, oluşturulan KmlLayer sınıflarının sayısı ile bu katmanları oluşturmak için kullanılan tüm URL'lerin toplam uzunluğunun bir kombinasyonuna dayanır. Oluşturduğunuz her yeni KmlLayer katman sınırının bir kısmını, KML dosyasının yüklendiği URL'nin uzunluğuna bağlı olarak da sınırın bir kısmını kaplar. Sonuç olarak, ekleyebileceğiniz katman sayısı uygulamaya göre değişir. Sınıra ulaşmadan ortalama 10 ila 20 katman yükleyebilirsiniz. Sınıra yine de ulaşırsanız KML URL'lerini kısaltmak için bir URL kısaltıcı kullanın. Alternatif olarak, tek tek KML URL'lerine NetworkLinks içeren tek bir KML dosyası oluşturun.

Performans ve önbelleğe alma ile ilgili dikkat edilmesi gereken noktalar

Google'ın sunucuları, sunucularınızdaki yükü azaltmak için KML dosyalarını geçici olarak önbelleğe alır. Bu, kullanıcılarınız haritayı tıklayıp kaydırırken ve yakınlaştırırken KML dosyanızdaki uygun segmentlerin yer tasarrufu sağlayan bir temsilini sunarak kullanıcılarınızın performansını da iyileştirir.

En iyi performans için şunları yapmanızı öneririz:

  • KML'de uygun bir <expires> etiketi kullanın.

    KmlLayer, KML dosyalarını nasıl önbelleğe alacağına karar verirken HTTP üst bilgilerini kullanmaz.
  • İstekte bulunurken dosyaları dinamik olarak oluşturmayın.

    Bunun yerine, dosyaları ihtiyaç duyulmadan önce oluşturun ve statik olarak sunun. Sunucunuzun KML dosyasını iletmesi uzun sürerse KmlLayer gösterilmeyebilir.
  • Dosyanızın güncellendiğinden emin değilseniz önbellekleri atlamayı denemeyin.

    Önbellekleri her zaman atlamak (ör. sorgu parametresi olarak rastgele bir sayı veya kullanıcının saatini ekleyerek), siteniz aniden popüler hale gelirse ve büyük KML dosyaları sunuyorsanız sunucularınızın aşırı yüklenmesine neden olabilir.

    Ayrıca, bir kullanıcının saati yanlışsa ve <expires> etiketi doğru şekilde ayarlanmamışsa önbelleğin kullanıcılara eski veriler sunmasına da neden olabilir.

    Bunun yerine, güncellenmiş statik dosyaları yeni ve ayrı bir düzeltme numarasıyla yayınlayın ve KmlLayer'a iletilen URL'yi geçerli sürümle dinamik olarak güncellemek için sunucu tarafı kodu kullanın.
  • KML dosyalarınızdaki değişiklikleri dakikada bir kez olacak şekilde sınırlayın.

    Tüm dosyaların toplam boyutu 1 MB'tan fazlaysa (sıkıştırılmamış) sınır 5 dakikada bir olarak değişir.
  • Coğrafi veri sunucusu kullanırken katmanların görüntü alanını sınırlamak için sorgu parametrelerini kullanmaktan kaçının.

    Bunun yerine, harita görüntü alanını bounds_changed etkinliğiyle sınırlayabilirsiniz. Kullanıcılara yalnızca otomatik olarak gösterilebilen özellikler gönderilir.

    Coğrafi veri sunucunuzda çok fazla veri varsa bunun yerine veri katmanlarını kullanabilirsiniz.
  • Coğrafi veri sunucusu kullanırken, kullanıcıların etkinleştirmesine izin vermek istediğiniz her özellik grubu için farklı sorgu parametrelerine sahip tek bir KmlLayer yerine birden fazla KmlLayer kullanın.
  • Dosya boyutunu küçültmek için sıkıştırılmış KMZ dosyaları kullanın.
  • Google Cloud Storage veya başka bir bulut depolama çözümü kullanıyorsanız erişim denetimlerini zorunlu kılmak için Signed URLs (imzalı URL'ler) veya geçici jetonlar gibi özellikleri kullanmaktan kaçının. Bu durumlar, istemeden de olsa önbelleğe almayı engelleyebilir.
  • Tüm noktaların doğruluğunu uygun bir doğruluğa düşürün.
  • Poligon ve çoklu çizgi gibi benzer özelliklerin geometrisini birleştirip basitleştirin.
  • Kullanılmayan öğeleri veya resim kaynaklarını kaldırın.
  • Desteklenmeyen öğeleri kaldırın.

Gizli verilere erişmeniz, önbelleğe almayı önlemeniz veya tarayıcı görüntü alanını bir sorgu parametresi olarak coğrafi veri sunucusuna göndermeniz gerekiyorsa KmlLayer yerine veri katmanlarını kullanmanızı öneririz. Bu, kullanıcılarınızın tarayıcısını doğrudan web sunucunuzdan kaynak isteyecek şekilde yönlendirir.

Desteklenen KML öğeleri

Maps JavaScript API aşağıdaki KML öğelerini destekler. KML ayrıştırıcısı, genellikle, anlamlandıramadığı XML etiketlerini sessiz bir şekilde göz ardı eder.

  • Yer İşaretleri
  • Simgeler
  • Klasörler
  • Açıklayıcı HTML: <BalloonStyle> ve <text> aracılığıyla öğe değiştirme
  • KMZ (ekli resimler de dahil olmak üzere, sıkıştırılmış KML)
  • Çoklu çizgiler ve poligonlar
  • Renk, dolgu ve saydamlık da dahil olmak üzere, çoklu çizgiler ve poligonlar için stiller
  • Dinamik olarak veri içe aktarmak için ağ bağlantıları
  • Yer katmanları ve ekran katmanları

Aşağıdaki tabloda, desteklenen KML öğelerinin tüm ayrıntıları verilmiştir.

KML öğesi API'de destekleniyor mu? Yorum
<address> hayır
<AddressDetails> hayır
<Alias> Yok <Model> desteklenmiyor
<altitude> hayır
<altitudeMode> hayır
<atom:author> evet
<atom:link> evet
<atom:name> evet
<BalloonStyle> kısmen Yalnızca <text> desteklenir
<begin> Yok <TimeSpan> desteklenmiyor
<bgColor> hayır
<bottomFov> Yok <PhotoOverlay> desteklenmiyor
<Kamera> hayır
<Change> kısmen yalnızca stil değişiklikleri desteklenir
<color> kısmen #AABBGGRR ve #BBGGRR içerir; <IconStyle>, <ScreenOverlay> ve <GroundOverlay>
<colorMode> hayır
<cookie> hayır
<coordinates> evet
<Create> hayır
<Data> evet
<Sil> hayır
<description> evet HTML içeriğine izin verilir ancak tarayıcılar arası saldırılara karşı koruma sağlamak için temizlenir. $[dataName] biçimindeki öğe değişimleri desteklenmez.
<displayMode> hayır
<displayName> hayır
<Document> kısmen örtülü olarak desteklenir; diğer özelliklerin alt öğesi olarak etkisi yoktur
<drawOrder> hayır
<east> evet
<end> Yok <TimeSpan> desteklenmiyor
<expires> evet Ayrıntılar için Özet bölümüne bakın
<ExtendedData> kısmen Yalnızca untyped <Data>, <SimpleData> veya <Schema> kabul edilir. $[dataName] biçimindeki varlık değişimleri desteklenmez.
<extrude> hayır
<fill> evet
<flyToView> hayır
<Folder> evet
<geomColor> hayır desteği sonlandırıldı
<GeometryCollection> hayır desteği sonlandırıldı
<geomScale> hayır desteği sonlandırıldı
<gridOrigin> Yok <PhotoOverlay> desteklenmiyor
<GroundOverlay> evet döndürülemez
<h> evet desteği sonlandırıldı
<heading> evet
ipucu evet target=... destekleniyor
<hotSpot> evet
<href> evet
<httpQuery> hayır
<Icon> evet döndürülemez
<IconStyle> evet
<ImagePyramid> Yok <PhotoOverlay> desteklenmiyor
<innerBoundaryIs> evet <LinearRing> sırasına göre dolaylı olarak
<ItemIcon> Yok <ListStyle> desteklenmiyor
<key> Yok <StyleMap> desteklenmiyor
<kml> evet
<labelColor> hayır desteği sonlandırıldı
<LabelStyle> hayır
<latitude> evet
<LatLonAltBox> evet
<LatLonBox> evet
<leftFov> Yok <PhotoOverlay> desteklenmiyor
<LinearRing> evet
<LineString> evet
<LineStyle> evet
<Link> evet
<linkDescription> hayır
<linkName> hayır
<linkSnippet> hayır
<listItemType> Yok <ListStyle> desteklenmiyor
<ListStyle> hayır
<Location> Yok <Model> desteklenmiyor
<Lod> evet
<longitude> evet
<LookAt> hayır
<maxAltitude> evet
<maxFadeExtent> evet
<maxHeight> Yok <PhotoOverlay> desteklenmiyor
<maxLodPixels> evet
<maxSessionLength> hayır
<maxWidth> Yok <PhotoOverlay> desteklenmiyor
<message> hayır
<Metadata> hayır desteği sonlandırıldı
<minAltitude> evet
<minFadeExtent> evet
<minLodPixels> evet
<minRefreshPeriod> hayır <NetworkLink>
<Model> hayır
<MultiGeometry> kısmen oluşturulur ancak sol taraftaki panelde ayrı özellikler olarak gösterilir
<ad> evet
<near> Yok <PhotoOverlay> desteklenmiyor
<NetworkLink> evet  
<NetworkLinkControl> kısmen <Update> ve <expires> kısmen desteklenir. API, HTTP başlıklarındaki geçerlilik bitiş tarihi ayarlarını yoksayar ancak KML'de belirtilen geçerlilik bitiş tarihi ayarlarını kullanır. Son kullanma tarihi ayarları olmadığında veya geçerlilik süresi içinde Google Haritalar, internetten alınan verileri belirsiz süreler boyunca önbelleğe alabilir. Verilerin internetten yeniden getirilmesini, dokümanı yeniden adlandırıp farklı bir URL altında getirerek veya dokümanın uygun son kullanma ayarlarını içerdiğinden emin olarak zorunlu kılabilirsiniz.
<north> evet
<open> evet
<Orientation> Yok <Model> desteklenmiyor
<outerBoundaryIs> evet <LinearRing> sırasına göre dolaylı olarak
<outline> evet
<overlayXY> hayır
<Pair> Yok <StyleMap> desteklenmiyor
<phoneNumber> hayır
<PhotoOverlay> hayır
<Placemark> evet
<Point> evet
<Polygon> evet
<PolyStyle> evet
<range> evet
<refreshInterval> kısmen Yalnızca <Link>; <Icon> içinde değil
<refreshMode> evet "onExpire" modu için HTTP üstbilgileri desteklenmez. <Update> ve <expires> ile ilgili notları yukarıda bulabilirsiniz.
<refreshVisibility> hayır
<Region> evet
<ResourceMap> Yok <Model> desteklenmiyor
<rightFov> Yok <PhotoOverlay> desteklenmiyor
<roll> Yok <Camera> ve <Model> desteklenmiyor
<rotation> hayır
<rotationXY> hayır
<Scale> Yok <Model> desteklenmiyor
<scale> hayır
<Schema> hayır
<SchemaData> hayır
<ScreenOverlay> evet döndürülemez
<screenXY> hayır
<shape> Yok <PhotoOverlay> desteklenmiyor
<SimpleData> Yok <SchemaData> desteklenmez
<SimpleField> Yok <Schema> desteklenmez
<size> evet
<Snippet> evet
<south> evet
<state> Yok <ListStyle> desteklenmiyor
<Style> evet
<StyleMap> hayır Fareyle üzerine gelme (öne çıkarma) efektleri desteklenmez
<styleUrl> Yok <StyleMap> desteklenmiyor
<targetHref> kısmen <Update> içinde desteklenir, <Alias> içinde desteklenmez
<tessellate> hayır
<text> evet $[geDirections] değişimi desteklenmiyor
<textColor> hayır
<tileSize> Yok <PhotoOverlay> desteklenmiyor
<tilt> hayır
<TimeSpan> hayır
<TimeStamp> hayır
<topFov> Yok <PhotoOverlay> desteklenmiyor
<Update> kısmen <Oluştur> veya <Sil> değil, yalnızca stil değişiklikleri
<Url> evet desteği sonlandırıldı
<value> evet
<viewBoundScale> hayır
<viewFormat> hayır
<viewRefreshMode> kısmen "onStop" desteklenir
<viewRefreshTime> evet
<ViewVolume> Yok <PhotoOverlay> desteklenmiyor
<visibility> kısmen <Folder> için evet: alt yer işaretleri görünürlüğünü devralır
<w> evet desteği sonlandırıldı
<west> evet
<when> Yok <TimeStamp> desteklenmiyor
<width> evet
<x> evet desteği sonlandırıldı
<y> evet desteği sonlandırıldı