KmlLayer
renderuje elementy KML i GeoRSS w nakładce kafelków interfejsu API JavaScript Map.
Przegląd
Interfejs API JavaScript Map Google obsługuje formaty danych KML i GeoRSS na potrzeby wyświetlania informacji geograficznych. Te formaty danych są wyświetlane na mapie za pomocą obiektu KmlLayer
, którego konstruktor pobiera adres URL publicznie dostępnego pliku KML lub GeoRSS.
Uwaga: klasa KmlLayer
, która generuje nakładki KML w interfejsie Maps JavaScript API, korzysta z usługi hostowanej przez Google do pobierania i analizowania plików KML do renderowania.
W związku z tym możliwe jest wyświetlanie plików KML tylko wtedy, gdy są one przechowywane pod publicznie dostępnym adresem URL, który nie wymaga uwierzytelniania.
Jeśli potrzebujesz dostępu do plików prywatnych, szczegółowej kontroli nad pamięcią podręczną lub wysyłasz okno przeglądarki do serwera danych geoprzestrzennych jako parametru zapytania, zalecamy użycie warstw danych zamiast KmlLayer
. Dzięki temu przeglądarki użytkowników będą mogły bezpośrednio wysyłać żądania zasobów do Twojego serwera WWW.
Interfejs API JavaScript Map Google konwertuje przesłane dane XML na reprezentację KML, która jest wyświetlana na mapie przy użyciu nakładki na kafelek interfejsu API JavaScript Map. Ten plik KML wygląda (i trochę działa) jak podobne elementy interfejsu nakładanego interfejsu API JavaScript Map Google. Elementy KML <Placemark>
i GeoRSS point
są renderowane jako znaczniki. Na przykład elementy <LineString>
są renderowane jako linie łamane, a elementy <Polygon>
– jako wielokąty. Elementy <GroundOverlay>
są też renderowane na mapie jako prostokątne obrazy. Co ważne, obiekty nie są interfejsem API JavaScript Map Google (Markers
, Polylines
, Polygons
ani GroundOverlays
) i wyświetlane w jednym obiekcie na mapie.
Obiekty KmlLayer
są wyświetlane na mapie po ustawieniu właściwości map
. Możesz usunąć je z mapy, wywołując setMap()
, przekazując null
. Obiekt KmlLayer
zarządza renderowaniem tych elementów podrzędnych, automatycznie pobierając odpowiednie funkcje do wyznaczonych granic mapy. Wraz ze zmianą granic funkcje w bieżącym widoku są automatycznie renderowane.
Komponenty w pliku KmlLayer
są renderowane na żądanie, dlatego w warstwie można z łatwością renderować tysiące znaczników, linii łamanych i wielokątów. Pamiętaj, że nie możesz uzyskać dostępu bezpośrednio do tych obiektów składowych, ale każdy z nich podaje zdarzenia kliknięcia, które zwracają dane dotyczące tych obiektów.
Opcje warstwy KML
Konstruktor KmlLayer()
opcjonalnie przekazuje liczbę KmlLayerOptions
:
map
określaMap
, w którym jest renderowanyKmlLayer
.KmlLayer
możesz ukryć, ustawiając tę wartość nanull
w metodziesetMap()
.preserveViewport
określa, że mapa nie powinna być dopasowywana do granic zawartości treściKmlLayer
podczas wyświetlania warstwy. Podczas wyświetlania obiektuKmlLayer
domyślnie mapa jest powiększona i wyświetlana w taki sposób, aby pokazać całą zawartość warstwy.suppressInfoWindows
wskazuje, że klikalne funkcje w obiekcieKmlLayer
nie powinny wyświetlać obiektuInfoWindow
.
Dodatkowo po wyrenderowaniu KmlLayer
zawiera stałą właściwość metadata
, która zawiera nazwę warstwy, opis, fragment kodu i autora w dosłownym obiekcie KmlLayerMetadata
. Możesz to sprawdzić, używając metody getMetadata()
. Renderowanie obiektów KmlLayer
wymaga asynchronicznej komunikacji z serwerem zewnętrznym, dlatego nasłuchuj zdarzenia metadata_changed
, które wskaże, że usługa została wypełniona.
Poniższy przykład tworzy KmlLayer
z danego kanału GeoRSS:
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> <script src="https://polyfill.io/v3/polyfill.min.js?features=default"></script> <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 callback 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>
Fragment
Ten przykład tworzy KmlLayer
z danego pliku KML:
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> <script src="https://polyfill.io/v3/polyfill.min.js?features=default"></script> <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 callback 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>
Fragment
Szczegóły funkcji KML
KML może zawierać wiele funkcji, dlatego nie możesz bezpośrednio uzyskać dostępu do danych cech z obiektu KmlLayer
. W miarę wyświetlania funkcji są one renderowane tak, jakby klikalne nakładki interfejsu API JavaScript Map.
Kliknięcie poszczególnych funkcji domyślnie powoduje wyświetlenie InfoWindow
z danymi KML <title>
i <description>
dotyczącymi określonej funkcji.
Dodatkowo kliknięcie funkcji KML generuje KmlMouseEvent
, który przekazuje te informacje:
position
wskazuje szerokość i długość geograficzną, od których można zakotwiczyć atrybutInfoWindow
w przypadku tego obiektu KML. Jest to zwykle kliknięta lokalizacja wielokątów, linii łamanych i nakładek gruntowych, ale prawdziwe położenie źródła.pixelOffset
wskazuje przesunięcie względem powyższego elementuposition
, aby zakotwiczyćInfoWindow
„ogon”. W przypadku obiektów wielokątnych przesunięcie wynosi zwykle0,0
, ale w przypadku znaczników uwzględnia wysokość znacznika.featureData
zawiera strukturę JSONKmlFeatureData
.
Przykładowy obiekt KmlFeatureData
jest wyświetlany poniżej:
{ author: { email: "nobody@google.com", name: "Mr Nobody", uri: "http://example.com" }, description: "description", id: "id", infoWindowHtml: "html", name: "name", snippet: "snippet" }
Poniższy przykład pokazuje wyświetlanie tekstu KML <Description>
z boku strony <div>
po kliknięciu tej funkcji:
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> <script src="https://polyfill.io/v3/polyfill.min.js?features=default"></script> <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 callback 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>
Fragment
Ograniczenia rozmiaru i złożoności renderowania plików KML
Interfejs Maps JavaScript API ma ograniczenia dotyczące rozmiaru i złożoności wczytywanych plików KML. Poniżej znajduje się podsumowanie aktualnych limitów.
Uwaga: te limity mogą ulec zmianie w dowolnym momencie.
- Maksymalny rozmiar pobieranego pliku (nieprzetworzone dane KML, nieprzetworzone dane GeoRSS lub skompresowane dane KMZ)
- 3MB
- Maksymalny rozmiar nieskompresowanego pliku KML
- 10MB
- Maksymalny rozmiar nieskompresowanego pliku obrazu w plikach KMZ
- 500 KB na plik
- Maksymalna liczba linków sieciowych
- 10.
- Maksymalna łączna liczba funkcji obejmujących cały dokument
- 1000
- Liczba warstw KML
- Liczba warstw KML, które można wyświetlić na jednej mapie Google, jest ograniczona. Po przekroczeniu tego limitu żadna z warstw nie pojawi się na mapie, a w konsoli JavaScript przeglądarki zostanie zgłoszony błąd. Limit jest obliczany na podstawie liczby utworzonych klas
KmlLayer
i łącznej długości wszystkich adresów URL użytych do utworzenia tych warstw. Każdy nowo utworzony elementKmlLayer
będzie zajmować część limitu w warstwie oraz dodatkową część limitu w zależności od długości adresu URL, z którego wczytano plik KML. Dlatego liczba warstw, które można dodać, będzie się różnić w zależności od aplikacji. Średnio można wczytać od 10 do 20 warstw bez przekraczania limitu. Jeżeli nadal przekraczasz limit, użyj narzędzia do skracania adresów URL KML. W przeciwnym razie utwórz pojedynczy plik KML zawierający NetworkLinks do poszczególnych adresów URL KML.
Uwagi na temat wydajności i buforowania
Serwery Google tymczasowo buforują pliki KML, aby zmniejszyć obciążenie serwerów. Poprawi to też wydajność użytkowników, wyświetlając odpowiednie segmenty w pliku KML, gdy użytkownicy klikają, przesuwają i powiększają mapę.
Aby uzyskać najlepszą skuteczność:
- Użyj odpowiedniego tagu
<expires>
w pliku KML.
KmlLayer
nie będzie używać nagłówków HTTP podczas określania sposobu zapisywania plików KML w pamięci podręcznej. - Nie generuj plików dynamicznie na żądanie.
Zamiast tego wygeneruj pliki, zanim będą potrzebne, i wyświetl je statycznie. Jeśli przesyłanie pliku KML przez serwer zajmuje dużo czasu,KmlLayer
może się nie wyświetlać. - Nie próbuj omijać pamięci podręcznej, chyba że masz absolutną pewność, że plik został zaktualizowany.
Ciągłe pomijanie pamięci podręcznej (np. przez dodanie liczby losowej lub zegara użytkownika jako parametru zapytania) może łatwo spowodować przeciążenie Twoich serwerów, jeśli Twoja witryna nagle stanie się popularna i wyświetlasz na niej duże pliki KML.
Może się również zdarzyć, że pamięć podręczna będzie wyświetlać nieaktualne dane, jeśli zegar użytkownika jest nieprawidłowy, a tag<expires>
nie został prawidłowo skonfigurowany.
Opublikuj zamiast tego zaktualizowane pliki statyczne z nowym, oddzielnym numerem wersji i użyj kodu po stronie serwera, by dynamicznie aktualizować URL przekazywany doKmlLayer
za pomocą bieżącej wersji. - Ogranicz zmiany w plikach KML do raz na minutę.
Jeśli rozmiar wszystkich plików jest większy niż 1 MB (po zdekompresowaniu), nie zmieniaj go raz na 5 minut. - Jeśli korzystasz z serwera danych geoprzestrzennych, unikaj używania parametrów zapytania, aby ograniczyć widoczny obszar warstw.
Możesz ograniczyć widok mapy za pomocą zdarzeniabounds_changed
. Użytkownicy będą otrzymywać tylko te funkcje, które mogą być wyświetlane automatycznie.
Jeśli na serwerze danych geoprzestrzennych znajduje się duża ilość danych, rozważ użycie warstw danych. - W przypadku serwera danych geoprzestrzennych użyj
KmlLayer
w przypadku każdej grupy funkcji, które użytkownicy mogą przełączać. W przeciwnym razie używajKmlLayer
z różnymi parametrami zapytania. - Aby zmniejszyć rozmiar plików, użyj skompresowanych plików KMZ.
- Jeśli używasz Google Cloud Storage lub innego rozwiązania do przechowywania w chmurze, unikaj korzystania z takich funkcji jak podpisane adresy URL lub tokeny tymczasowe, aby wymuszać kontrolę dostępu. Może to spowodować niezamierzone zachowanie pamięci podręcznej.
- Zmniejsz dokładność wszystkich punktów do odpowiedniej dokładności.
- Scal i uprość geometrię podobnych obiektów, takich jak wielokąty i linie łamane.
- Usuń wszystkie nieużywane elementy lub zasoby graficzne.
- Usuń nieobsługiwane elementy.
Jeśli chcesz uzyskać dostęp do danych prywatnych, uniemożliwić zapisywanie w pamięci podręcznej lub wysłać widoczny obszar przeglądarki do serwera danych geoprzestrzennych jako parametru zapytania, zalecamy użycie warstw danych zamiast KmlLayer
. Dzięki temu przeglądarki użytkowników będą mogły bezpośrednio wysyłać żądania zasobów do Twojego serwera WWW.
Obsługiwane elementy KML
Interfejs Maps JavaScript API obsługuje następujące elementy KML. Parser plików KML ignoruje bez powiadamiania tagi XML, których nie rozpoznaje.
- Oznaczenia miejsc
- Ikony
- Foldery
- Opisowy kod HTML – zamiana encji za pomocą znaczników <BalloonStyle> i <text>
- pliki KMZ (skompresowane pliki KML, w tym również dołączone zdjęcia)
- linie łamane i wielokąty
- style linii łamanych i wielokątów, w tym kolor, wypełnienie i przezroczystość
- linki sieciowe do dynamicznego importowania danych
- warstwy nad powierzchnią oraz warstwy ekranu
Poniższa tabela zawiera pełne informacje na temat obsługiwanych elementów KML.
Element KML | Obsługiwany przez API? | Komentarz |
---|---|---|
<adres> | nie | |
<AddressDetails> | nie | |
<Alias> | Nie dotyczy | Element <Model> nie jest obsługiwany |
<wysokość> | nie | |
<tryb_dostepu> | nie | |
<atom:author> | tak | |
<atom:link> | tak | |
<atom:nazwa> | tak | |
<BalloonStyle> | częściowo | obsługiwany jest tylko element <text> |
<początek> | Nie dotyczy | Element <TimeSpan> nie jest obsługiwany |
<bgColor> | nie | |
<bottomFov> | Nie dotyczy | Element <PhotoNakładka> nie jest obsługiwany |
<Kamera> | nie | |
<Zmień> | częściowo | obsługiwane są tylko zmiany stylu |
<kolor> | częściowo | zawiera elementy #AABBGGRR i #BBGGRR; nieobsługiwane w tagach <IconStyle>, <ScreenNakładka> i <GroundNakładka> |
<kolorTryb> | nie | |
<plik cookie> | nie | |
<współrzędne> | tak | |
<Utwórz> | nie | |
<Dane> | tak | |
<Usuń> | nie | |
<opis> | tak | Treści HTML są dozwolone, ale są oczyszczone, by chronić je przed atakami w różnych przeglądarkach. Zamiany encji w formacie $[dataName] nie są obsługiwane. |
<tryb_wyświetlania> | nie | |
<wyświetlananazwa> | nie | |
<Dokument> | częściowo | dzieci są domyślnie obsługiwane; nie ma wpływu na działanie elementów podrzędnych innych funkcji |
<drawOrder> | nie | |
<wschodni> | tak | |
<end> | Nie dotyczy | Element <TimeSpan> nie jest obsługiwany |
<wygasa> | tak | Więcej informacji znajdziesz w sekcji Podsumowanie |
<RozszerzoneDane> | częściowo | Nieobsługiwane są tylko elementy <Data>, tagi <SimpleData> i <Schema> oraz zamienniki encji $[dataName] .
|
<wyodrębnij> | nie | |
<wypełnij> | tak | |
<flyToView> | nie | |
<Folder> | tak | |
<geomColor> | nie | wycofane |
<GeometryCollection> | nie | wycofane |
<geomScale>, | nie | wycofane |
<gridOrigin> | Nie dotyczy | Element <PhotoNakładka> nie jest obsługiwany |
<nakładka terenowa> | tak | nie można wykonać rotacji |
<h> | tak | wycofane |
<heading> | tak | |
podpowiedź | tak | target=... |
<Hotspot> | tak | |
<href> | tak | |
<httpzapytanie> | nie | |
<Ikona> | tak | nie można wykonać rotacji |
<IkonaStyle> | tak | |
<Image Piramida> | Nie dotyczy | Element <PhotoNakładka> nie jest obsługiwany |
<wewnetrzne granice> | tak | bezpośrednio z kolejności <LinearRing> |
<ItemIcon>, | Nie dotyczy | Element <ListStyle> nie jest obsługiwany |
<klucz> | Nie dotyczy | Element <StyleMap> nie jest obsługiwany |
<pliku KML> | tak | |
<labelColor> | nie | wycofane |
<EtykietaStyl> | nie | |
<szerokość> | tak | |
<LatLonAltBox> | tak | |
<LatLonBox> | tak | |
<leftFov> | Nie dotyczy | Element <PhotoNakładka> nie jest obsługiwany |
<Dzwonki liniowe> | tak | |
<Ciąg znaków> | tak | |
<LineStyle>, | tak | |
<Link> | tak | |
<linkDescription> | nie | |
<nazwa_linku> | nie | |
<linkFragment> | nie | |
<listItemType> | Nie dotyczy | Element <ListStyle> nie jest obsługiwany |
<ListStyle> | nie | |
<Lokalizacja> | Nie dotyczy | Element <Model> nie jest obsługiwany |
<Lod> | tak | |
<długość geograficzna> | tak | |
<LookAt> | nie | |
<maks. wysokość> | tak | |
<maxFadeExtent> | tak | |
<maxHeight> | Nie dotyczy | Element <PhotoNakładka> nie jest obsługiwany |
<maxLodPixels> | tak | |
<maxSessionLength> | nie | |
<maxWidth> | Nie dotyczy | Element <PhotoNakładka> nie jest obsługiwany |
<message> | nie | |
<Metadata> | nie | wycofane |
<minAltitude> | tak | |
<minFadeExtent> | tak | |
<minLodPixels> | tak | |
<minRefreshPeriod> | nie | <LinkSieci> |
<Model> | nie | |
<MultiGeometry>, | częściowo | renderowane, ale wyświetlane jako osobne funkcje w panelu bocznym po lewej stronie; |
<nazwa> | tak | |
<w pobliżu> | Nie dotyczy | Element <PhotoNakładka> nie jest obsługiwany |
<LinkSieci> | tak | |
<ControlLinkControl> | częściowo | Elementy <Update> i <expires> są częściowo obsługiwane. Interfejs API ignoruje ustawienia ważności w nagłówkach HTTP, ale używa ustawień ważności określonych w KML. W przypadku braku ustawień ważności lub w przedziale czasu ważności Mapy Google mogą buforować dane pobierane z internetu na nieokreślone czasy. Aby ponownie pobrać dane z internetu, musisz zmienić nazwę dokumentu i pobrać go pod innym adresem URL. Możesz też sprawdzić, czy dokument zawiera prawidłowe ustawienia daty ważności. |
<północ> | tak | |
<otwarte> | tak | |
<Orientacja> | Nie dotyczy | Element <Model> nie jest obsługiwany |
<granica-granica> | tak | bezpośrednio z kolejności <LinearRing> |
<outline> | tak | |
<nakładkaXY> | nie | |
<Parowanie> | Nie dotyczy | Element <StyleMap> nie jest obsługiwany |
<numer telefonu> | nie | |
<PhotoNakładka>. | nie | |
<Oznaczenie miejsca> | tak | |
<Punkt> | tak | |
<Wielokąt> | tak | |
<StylPoly> | tak | |
<zakres> | tak | |
<RefreshInterval> | częściowo | Tylko <Link>, nie w <Icon> |
<RefreshMode> | tak | Nagłówki HTTP nie są obsługiwane w trybie „onExpire”. Więcej informacji znajdziesz powyżej w sekcjach <Update> i <expires>. |
<RefreshWidoczność> | nie | |
<Region> | tak | |
<MapMap> | Nie dotyczy | Element <Model> nie jest obsługiwany |
<prawaFov> | Nie dotyczy | Element <PhotoNakładka> nie jest obsługiwany |
<roll> | Nie dotyczy | Opcje <Aparat> i <Model> nie są obsługiwane |
<rotacja> | nie | |
<rotacjaXY> | nie | |
<Skala> | Nie dotyczy | Element <Model> nie jest obsługiwany |
<skala> | nie | |
<Schemat> | nie | |
<SchemaSchema> | nie | |
<ScreenNakładka>, | tak | nie można wykonać rotacji |
<ekranXY> | nie | |
<kształt> | Nie dotyczy | Element <PhotoNakładka> nie jest obsługiwany |
<SimpleData> | Nie dotyczy | <SchemaData> nie są obsługiwane |
<SimpleField> | Nie dotyczy | <Schema> nie jest obsługiwany |
<rozmiar> | tak | |
<Fragment> | tak | |
<południe> | tak | |
<stan> | Nie dotyczy | Element <ListStyle> nie jest obsługiwany |
<Styl> | tak | |
<StylMap> | nie | efekty efektów przejścia kursorem (podświetlenie) nie są obsługiwane |
<styleUrl> | Nie dotyczy | Element <StyleMap> nie jest obsługiwany |
<targetHref> | częściowo | obsługiwane w <Update>, a nie w <Alias> |
<tessellate> | nie | |
<text> | tak | zamiana $[geDirections] nie jest obsługiwana |
<textColor> | nie | |
<tileSize> | Nie dotyczy | Element <PhotoNakładka> nie jest obsługiwany |
<przechylenie> | nie | |
<Przedział czasu> | nie | |
<sygnatura czasowa> | nie | |
<góraFov> | Nie dotyczy | Element <PhotoNakładka> nie jest obsługiwany |
<Aktualizacja> | częściowo | tylko zmiany stylu, a nie polecenia <Create> i <Delete> |
<Adres URL> | tak | wycofane |
<wartość> | tak | |
<viewBoundScale> | nie | |
<viewFormat> | nie | |
<viewRefreshMode> | częściowo | Funkcja „onStop” jest obsługiwana |
<viewRefreshTime> | tak | |
<ViewVolume> | Nie dotyczy | Element <PhotoNakładka> nie jest obsługiwany |
<widoczność> | częściowo | tak w folderze <Folder> – oznaczenia miejsc podrzędnych dziedziczą ich widoczność |
<w> | tak | wycofane |
<west> | tak | |
<kiedy> | Nie dotyczy | Element <TimeStamp> nie jest obsługiwany |
<szerokość> | tak | |
<x> | tak | wycofane |
<y> | tak | wycofane |