KmlLayer
จะแสดงองค์ประกอบ KML และ GeoRSS ใน
การวางซ้อนชิ้นส่วนแผนที่ JavaScript API
ภาพรวม
Maps JavaScript API รองรับรูปแบบข้อมูล KML และ GeoRSS
ในการแสดงข้อมูลทางภูมิศาสตร์ รูปแบบข้อมูลเหล่านี้จะแสดงใน
จับคู่โดยใช้ออบเจ็กต์ KmlLayer
ซึ่งตัวสร้างจะใช้ URL ของ
ไฟล์ KML หรือ GeoRSS ที่เข้าถึงได้แบบสาธารณะ
หมายเหตุ: ชั้นเรียน KmlLayer
ที่
สร้างการวางซ้อน KML ใน Maps JavaScript API ที่ใช้
บริการที่โฮสต์โดย Google เพื่อเรียกและแยกวิเคราะห์ไฟล์ KML สำหรับการแสดงผล
ดังนั้น ระบบจะแสดงไฟล์ KML ได้ก็ต่อเมื่อโฮสต์อยู่ที่
URL ที่เข้าถึงได้แบบสาธารณะที่ไม่ต้องมีการตรวจสอบสิทธิ์เพื่อเข้าถึง
หากคุณต้องการเข้าถึงไฟล์ส่วนตัว การควบคุมแคชแบบละเอียด หรือ
ส่งวิวพอร์ตของเบราว์เซอร์ไปยังเซิร์ฟเวอร์ข้อมูลเชิงพื้นที่เป็นพารามิเตอร์การค้นหา
เราขอแนะนำให้ใช้ข้อมูล
เลเยอร์แทนที่จะเป็น KmlLayer
วิธีนี้จะนำผู้ใช้ของคุณ
เพื่อขอทรัพยากรจากเว็บเซิร์ฟเวอร์ของคุณโดยตรง
Maps JavaScript API จะแปลงข้อมูลทางภูมิศาสตร์ที่ระบุ
ข้อมูล XML ในรูปแบบการนำเสนอ KML ซึ่งแสดงบนแผนที่โดยใช้
การวางซ้อนชิ้นส่วนแผนที่ JavaScript API KML นี้มีลักษณะ
(และทำงานบางอย่าง) เหมือนกับ Maps JavaScript API ที่คุ้นเคย
องค์ประกอบการวางซ้อน KML <Placemark>
และ GeoRSS point
องค์ประกอบจะแสดงผลเป็นเครื่องหมาย ตัวอย่างเช่น <LineString>
องค์ประกอบ
แสดงผลเป็นเส้นประกอบและองค์ประกอบ <Polygon>
รายการ
เป็นรูปหลายเหลี่ยม ในทำนองเดียวกัน องค์ประกอบ <GroundOverlay>
จะแสดงเป็นรูปภาพสี่เหลี่ยมผืนผ้าบนแผนที่ อย่างไรก็ตาม สิ่งสำคัญก็คือวัตถุเหล่านี้
ไม่ใช่ Maps JavaScript API Markers
Polylines
, Polygons
หรือ GroundOverlays
แต่จะแสดงผลเป็นออบเจ็กต์เดียวบนแผนที่
วัตถุ KmlLayer
รายการปรากฏบนแผนที่เมื่อmap
ตั้งค่าพร็อพเพอร์ตี้แล้ว คุณสามารถลบสถานที่เหล่านั้นออกจากแผนที่ได้โดยโทรไปที่
setMap()
ผ่าน null
KmlLayer
จะจัดการการแสดงผลขององค์ประกอบย่อยเหล่านี้โดยอัตโนมัติ
เพื่อเรียกข้อมูลสถานที่ที่เหมาะสมสำหรับขอบเขตที่กําหนดของแผนที่ ตามที่
ขอบเขตเปลี่ยนแปลง จุดสนใจในวิวพอร์ตปัจจุบันจะ
ที่แสดงผล
เนื่องจากคอมโพเนนต์ภายใน KmlLayer
จะแสดงผลตามคำขอ
เลเยอร์จะช่วยให้คุณจัดการการแสดงเครื่องหมายนับพันรายการได้อย่างง่ายดาย
เส้นประกอบ และรูปหลายเหลี่ยม โปรดทราบว่าคุณเข้าถึงสมาชิกเหล่านี้ไม่ได้
โดยตรง แม้ว่าแต่ละรายการจะมีเหตุการณ์คลิกที่แสดงข้อมูล
ออบเจ็กต์เหล่านั้น
ตัวเลือกเลเยอร์ KML
ตัวสร้าง KmlLayer()
เลือกที่จะส่งจำนวน
KmlLayerOptions
:
map
ระบุMap
ที่จะแสดงผลKmlLayer
คุณสามารถซ่อนKmlLayer
ได้โดยการตั้งค่านี้ เป็นnull
ภายในเมธอดsetMap()
preserveViewport
ระบุว่าไม่ควรระบุแผนที่ ปรับตามขอบเขตของเนื้อหาของKmlLayer
เมื่อ ที่จะแสดงเลเยอร์ โดยค่าเริ่มต้น เมื่อแสดงKmlLayer
พารามิเตอร์ แผนที่จะถูกซูมและกำหนดตำแหน่งเพื่อแสดงเลเยอร์ทั้งหมด เนื้อหาsuppressInfoWindows
ระบุว่าฟีเจอร์ที่คลิกได้ภายในKmlLayer
ไม่ควรเรียกให้แสดง ออบเจ็กต์InfoWindow
รายการ
นอกจากนี้ เมื่อแสดงผล KmlLayer
แท็กจะมีแอตทริบิวต์
พร็อพเพอร์ตี้ metadata
ที่เปลี่ยนแปลงไม่ได้ที่มีชื่อเลเยอร์นั้น
คำอธิบาย ตัวอย่างข้อมูล และผู้เขียนภายในออบเจ็กต์ KmlLayerMetadata
ลิเทอรัล คุณตรวจสอบข้อมูลนี้ได้โดยใช้ getMetadata()
เนื่องจากการแสดงภาพออบเจ็กต์ KmlLayer
รายการต้องใช้
แบบไม่พร้อมกันไปยังเซิร์ฟเวอร์ภายนอก คุณจะต้อง
เหตุการณ์ metadata_changed
ซึ่งจะระบุว่าพร็อพเพอร์ตี้
ได้รับการป้อนข้อมูลแล้ว
ตัวอย่างต่อไปนี้สร้าง KmlLayer
จาก
ฟีด 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> <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 ที่ระบุ
ฟีด:
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>
ลองใช้ตัวอย่าง
รายละเอียดฟีเจอร์ KML
เนื่องจาก KML อาจมีคุณลักษณะมากมาย คุณจึงไม่สามารถเข้าถึงได้
ข้อมูลฟีเจอร์จากออบเจ็กต์ KmlLayer
โดยตรง แต่เป็น
จะปรากฏขึ้น และจะแสดงผลให้ดูเหมือนคลิกได้
การวางซ้อน JavaScript API ของ Maps
การคลิกแต่ละฟีเจอร์จะเป็นการแสดง
InfoWindow
ที่มี KML <title>
และ
<description>
เกี่ยวกับฟีเจอร์ที่กำหนด
นอกจากนี้ การคลิกฟีเจอร์ KML จะสร้าง KmlMouseEvent
ซึ่งจะส่งข้อมูลต่อไปนี้
position
ระบุพิกัดละติจูด/ลองจิจูดที่ ซึ่งจะกำหนดInfoWindow
สำหรับคุณลักษณะ KML นี้ ช่วงเวลานี้ คือตำแหน่งที่มีการคลิกสำหรับรูปหลายเหลี่ยม เส้นประกอบ และ GroundOverlays แต่เป็นจุดกำเนิดที่แท้จริงของเครื่องหมายpixelOffset
แสดงค่าชดเชยจากค่าข้างต้นposition
เพื่อตรึงInfoWindow
"tail" สำหรับวัตถุหลายเหลี่ยม ระยะห่างนี้มักจะ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" }
ตัวอย่างต่อไปนี้แสดงฟีเจอร์ KML <Description>
ข้อความภายในด้าน <div>
เมื่อคลิกฟีเจอร์:
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>
ลองใช้ตัวอย่าง
ข้อจำกัดด้านขนาดและความซับซ้อนในการแสดงภาพ KML
Maps JavaScript API มีข้อจำกัดเกี่ยวกับขนาดและ ความซับซ้อนของไฟล์ KML ที่โหลด ด้านล่างนี้เป็นข้อมูลสรุปของขีดจำกัดในปัจจุบัน
หมายเหตุ: ขีดจำกัดเหล่านี้อาจเปลี่ยนแปลงได้ทุกเมื่อ
- ขนาดไฟล์ใหญ่ที่สุดที่โหลดเข้ามาได้ (KML ดิบ, GeoRSS ดิบหรือ KMZ ที่มีการบีดอัด)
- 3MB
- ขนาดไฟล์ KML สูงสุดที่ไม่มีการบีบอัด
- 10MB
- ขนาดไฟล์ภาพสูงสุดที่ไม่มีการบีบอัดในไฟล์ KMZ
- 500 KB ต่อไฟล์
- จำนวนลิงก์เครือข่ายสูงสุด
- 10
- จำนวนสูงสุดของจุดสนใจทั้งหมดที่มีอยู่ในทั้งเอกสาร
- 1,000 คน
- จำนวนเลเยอร์ KML
- เลเยอร์ KML มีข้อจำกัดเกี่ยวกับจำนวน
ซึ่งแสดงบน Google Maps เพียงแห่งเดียว หากเกินขีดจำกัดนี้ ข้อมูล
เลเยอร์จะปรากฏขึ้นบนแผนที่ และจะมีรายงานข้อผิดพลาดในเว็บของคุณ
คอนโซล JavaScript ของเบราว์เซอร์ ขีดจำกัดนี้อิงตามชุดค่าผสมของ
จำนวน
KmlLayer
ชั้นเรียนที่สร้างขึ้น และระยะเวลารวม URL ทั้งหมดที่ใช้ในการสร้างเลเยอร์เหล่านั้นKmlLayer
ใหม่แต่ละรายการ ที่สร้างขึ้นจะใช้พื้นที่ส่วนหนึ่ง ของขีดจำกัดสำหรับเลเยอร์และ จำกัดโดยอิงกับความยาวของ URL ไฟล์ KML ถูกโหลดมา และจำนวนเลเยอร์ที่คุณสามารถเพิ่ม จะแตกต่างกันไปตามแอปพลิเคชัน โดยเฉลี่ยแล้ว คุณควรโหลด 10 และ 20 เลเยอร์โดยไม่ถึงขีดจำกัด หากคุณยังถึงจำนวนที่จำกัดไว้ ให้ใช้โปรแกรมย่อ URL เพื่อตัด URL ของ KML ให้สั้นลง หรือสร้าง ไฟล์ KML เดียวที่ประกอบด้วย NetworkLinks ไปยัง URL ของ KML แต่ละรายการ
ข้อควรพิจารณาเกี่ยวกับประสิทธิภาพและการแคช
เซิร์ฟเวอร์ของ Google จะแคชไฟล์ KML ไว้ชั่วคราวเพื่อลดภาระของ เซิร์ฟเวอร์ ซึ่งจะช่วยปรับปรุงประสิทธิภาพให้กับผู้ใช้ด้วยการแสดง การแสดงส่วนที่เหมาะสมในไฟล์ KML แบบประหยัดพื้นที่ ตาม ให้ผู้ใช้คลิก เลื่อน และซูมแผนที่
เพื่อประสิทธิภาพที่ดีที่สุด เราขอแนะนำให้คุณทำดังนี้
- ใช้แท็ก
<expires>
ที่เหมาะสมใน KML
KmlLayer
จะไม่ใช้ส่วนหัว HTTP เมื่อเลือกวิธี เพื่อแคชไฟล์ KML - อย่าสร้างไฟล์แบบไดนามิกตามเวลาที่ขอ
แต่ให้สร้างไฟล์ก่อนที่จะจำเป็นต้องใช้ และแสดงไฟล์เหล่านั้นแทน แบบคงที่ หากเซิร์ฟเวอร์ของคุณใช้เวลานานในการส่ง KMLKmlLayer
อาจไม่แสดง - อย่าพยายามข้ามแคชเว้นแต่คุณจะทราบแน่ชัดว่า
อัปเดตไฟล์แล้ว
การเลี่ยงการใช้แคชเสมอ (เช่น โดยการเพิ่มหมายเลขสุ่มหรือ เวลานาฬิกาของผู้ใช้เป็นพารามิเตอร์การค้นหา) ก็อาจทำให้ เซิร์ฟเวอร์จะมากเกินไป หากเว็บไซต์ของคุณได้รับความนิยมอย่างกะทันหัน และคุณ แสดงไฟล์ KML ขนาดใหญ่
นอกจากนี้ยังอาจทำให้แคชแสดงข้อมูลเก่าแก่ผู้ใช้ หากผู้ใช้ นาฬิกาไม่ถูกต้อง และแท็ก<expires>
ไม่ได้ถูก ตั้งค่าอย่างถูกต้อง
แต่ให้เผยแพร่ไฟล์แบบคงที่ที่อัปเดตซึ่งมีหมายเลขการแก้ไขใหม่ และใช้โค้ดฝั่งเซิร์ฟเวอร์เพื่ออัปเดต URL ที่ส่งไปยังKmlLayer
ในเวอร์ชันปัจจุบัน - จำกัดการเปลี่ยนแปลงในไฟล์ KML เป็น 1 ครั้งต่อนาที
หากไฟล์ทั้งหมดมีขนาดรวมมากกว่า 1 MB (ไม่บีบอัด) ให้จำกัดการเปลี่ยนแปลงเป็น 1 ครั้งต่อ 5 นาที - เมื่อใช้เซิร์ฟเวอร์ข้อมูลเชิงพื้นที่ โปรดหลีกเลี่ยงการใช้พารามิเตอร์การค้นหาเพื่อ
จำกัดวิวพอร์ตของเลเยอร์
แต่คุณสามารถจำกัดวิวพอร์ตของแผนที่ด้วยbounds_changed
เหตุการณ์ ผู้ใช้จะได้รับเฉพาะฟีเจอร์ที่ แสดงได้โดยอัตโนมัติ
หากมีข้อมูลจำนวนมากในเซิร์ฟเวอร์ข้อมูลเชิงพื้นที่ ให้พิจารณา โดยใช้ชั้นข้อมูล แทน - เมื่อใช้เซิร์ฟเวอร์ข้อมูลเชิงพื้นที่ ให้ใช้
KmlLayer
หลายรายการ สำหรับฟีเจอร์แต่ละกลุ่มที่ต้องการอนุญาตให้ผู้ใช้สลับKmlLayer
เดียวที่มีพารามิเตอร์การค้นหาต่างกัน - ใช้ไฟล์ KMZ ที่บีบอัดเพื่อลดขนาดไฟล์
- หากคุณใช้ Google Cloud Storage หรือโซลูชันพื้นที่เก็บข้อมูลระบบคลาวด์อื่น หลีกเลี่ยงการใช้ฟีเจอร์ต่างๆ เช่น URL ที่ลงนามหรือโทเค็นชั่วคราวเพื่อบังคับใช้การควบคุมการเข้าถึง สิ่งเหล่านี้สามารถ ป้องกันการแคชโดยไม่ได้ตั้งใจ
- ลดความแม่นยำของจุดทั้งหมดเป็น ความแม่นยำที่เหมาะสม
- ผสานและปรับรูปเรขาคณิตของฟีเจอร์ที่คล้ายกันให้ง่ายขึ้น เช่น รูปหลายเหลี่ยม และเส้นประกอบ
- นำองค์ประกอบหรือทรัพยากรรูปภาพที่ไม่ได้ใช้ออก
- นำองค์ประกอบที่ไม่รองรับออก
หากคุณต้องการเข้าถึงข้อมูลส่วนตัว ป้องกันการแคช หรือส่งเบราว์เซอร์
วิวพอร์ตไปยังเซิร์ฟเวอร์ข้อมูลเชิงพื้นที่เป็นพารามิเตอร์การค้นหา เราขอแนะนำให้ใช้
ชั้นข้อมูลแทน
KmlLayer
วิธีนี้จะนำผู้ใช้ของคุณ ไปยังเบราว์เซอร์โดยตรง
คำขอแหล่งข้อมูลจากเว็บเซิร์ฟเวอร์ของคุณ
องค์ประกอบ KML ที่สนับสนุน
Maps JavaScript API สนับสนุนองค์ประกอบ KML ต่อไปนี้ ปกติแล้ว โปรแกรมแยกวิเคราะห์ KML จะละเลยแท็กที่โปรแกรมไม่เข้าใจโดยไม่มีผลอะไร
- หมุด
- ไอคอน
- โฟลเดอร์
- HTML ที่สื่อความหมาย—การแทนที่เอนทิตีผ่าน <BalloonStyle> และ <text>
- KMZ (KML ที่มีการบีบอัด รวมถึงรูปภาพที่แนบมา)
- โพลีไลน์และรูปหลายเหลี่ยม
- ลักษณะของโพลีไลน์และรูปหลายเหลี่ยม รวมถึง สี สีเติม และความโปร่งแสง
- ลิงก์ของเครือข่ายเพื่อนำเข้าข้อมูลแบบไดนามิก
- Ground Overlay และ Screen Overlay
ตารางต่อไปนี้แสดงรายละเอียดทั้งหมดขององค์ประกอบ KML ที่สนับสนุน
องค์ประกอบ KML | มีการรองรับใน API หรือไม่ | ความคิดเห็น |
---|---|---|
<address> | ไม่ | |
<AddressDetails> | ไม่ | |
<Alias> | ไม่มี | <Model> ไม่รองรับ |
<altitude> | ไม่ | |
<altitudeMode> | ไม่ | |
<atom:author> | ใช่ | |
<atom:link> | ใช่ | |
<atom:name> | ใช่ | |
<BalloonStyle> | บางส่วน | เฉพาะ <text> ได้รับการสนับสนุน |
<begin> | ไม่มี | <TimeSpan> ไม่รองรับ |
<bgColor> | ไม่ | |
<bottomFov> | ไม่มี | <PhotoOverlay> ไม่รองรับ |
<Camera> | ไม่ | |
<Change> | บางส่วน | รองรับเฉพาะการเปลี่ยนแปลงรูปแบบเท่านั้น |
<color> | บางส่วน | มี #AABBGGRR และ #BBGGRR ไม่รองรับใน <IconStyle> <ScreenOverlay> และ <GroundOverlay> |
<colorMode> | ไม่ | |
<cookie> | ไม่ | |
<coordinates> | ใช่ | |
<Create> | ไม่ | |
<Data> | ใช่ | |
<Delete> | ไม่ | |
<description> | ใช่ | อนุญาตเนื้อหา HTML แต่มีการทำความสะอาดไว้เพื่อป้องกันจากในหลายเบราว์เซอร์
การโจมตี การแทนที่เอนทิตีของแบบฟอร์ม $[dataName]
ไม่ได้รับการสนับสนุน |
<displayMode> | ไม่ | |
<displayName> | ไม่ | |
<Document> | บางส่วน | โดยปริยายคือได้รับการสนับสนุนเด็ก ไม่ส่งผลกระทบเท่ากับรายการย่อยของ คุณสมบัติ |
<drawOrder> | ไม่ | |
<east> | ใช่ | |
<end> | ไม่มี | <TimeSpan> ไม่รองรับ |
<expires> | ใช่ | ดูรายละเอียดในส่วนสรุป |
<ExtendedData> | บางส่วน | <Data> ที่ไม่ได้พิมพ์ เท่านั้น ไม่มี <SimpleData> หรือ <สคีมา> และ
การแทนที่เอนทิตีของรูปแบบ $[dataName] ไม่ใช่
ที่รองรับ
|
<extrude> | ไม่ | |
<fill> | ใช่ | |
<flyToView> | ไม่ | |
<Folder> | ใช่ | |
<geomColor> | ไม่ | เลิกใช้งานแล้ว |
<GeometryCollection> | ไม่ | เลิกใช้งานแล้ว |
<geomScale> | ไม่ | เลิกใช้งานแล้ว |
<gridOrigin> | ไม่มี | <PhotoOverlay> ไม่รองรับ |
<GroundOverlay> | ใช่ | ไม่สามารถหมุน |
<h> | ใช่ | เลิกใช้งานแล้ว |
<heading> | ใช่ | |
คำใบ้ | ใช่ | รองรับ target=... |
<hotSpot> | ใช่ | |
<href> | ใช่ | |
<httpQuery> | ไม่ | |
<Icon> | ใช่ | ไม่สามารถหมุน |
<IconStyle> | ใช่ | |
<ImagePyramid> | ไม่มี | <PhotoOverlay> ไม่รองรับ |
<innerBoundaryIs> | ใช่ | โดยนัยจาก <LinearRing> คำสั่งซื้อ |
<ItemIcon> | ไม่มี | <ListStyle> ไม่รองรับ |
<key> | ไม่มี | <StyleMap> ไม่รองรับ |
<kml> | ใช่ | |
<labelColor> | ไม่ | เลิกใช้งานแล้ว |
<LabelStyle> | ไม่ | |
<latitude> | ใช่ | |
<LatLonAltBox> | ใช่ | |
<LatLonBox> | ใช่ | |
<leftFov> | ไม่มี | <PhotoOverlay> ไม่รองรับ |
<LinearRing> | ใช่ | |
<LineString> | ใช่ | |
<LineStyle> | ใช่ | |
<ลิงก์> | ใช่ | |
<linkDescription> | ไม่ | |
<linkName> | ไม่ | |
<linkSnippet> | ไม่ | |
<listItemType> | ไม่มี | <ListStyle> ไม่รองรับ |
<ListStyle> | ไม่ | |
<Location> | ไม่มี | <Model> ไม่รองรับ |
<Lod> | ใช่ | |
<ลองจิจูด> | ใช่ | |
<LookAt> | ไม่ | |
<maxAltitude> | ใช่ | |
<maxFadeExtent> | ใช่ | |
<maxHeight> | ไม่มี | <PhotoOverlay> ไม่รองรับ |
<maxLodPixels> | ใช่ | |
<maxSessionLength> | ไม่ | |
<maxWidth> | ไม่มี | <PhotoOverlay> ไม่รองรับ |
<message> | ไม่ | |
<Metadata> | ไม่ | เลิกใช้งานแล้ว |
<minAltitude> | ใช่ | |
<minFadeExtent> | ใช่ | |
<minLodPixels> | ใช่ | |
<minRefreshPeriod> | ไม่ | <NetworkLink> |
<Model> | ไม่ | |
<MultiGeometry> | บางส่วน | แสดงผลแต่แสดงเป็นฟีเจอร์ที่แยกต่างหากทางด้านซ้าย แผงข่าว |
<name> | ใช่ | |
<near> | ไม่มี | <PhotoOverlay> ไม่รองรับ |
<NetworkLink> | ใช่ | |
<NetworkLinkControl> | บางส่วน | <อัปเดต> และ <expires> สนับสนุนบางส่วน API ไม่สนใจ การตั้งค่าวันหมดอายุในส่วนหัว HTTP แต่ใช้การหมดอายุ การตั้งค่าที่ระบุใน KML หากไม่มีการตั้งค่าวันหมดอายุ หรือ ภายในช่วงเวลาที่ถูกต้อง Google Maps อาจแคชข้อมูลที่ดึงมาจาก อินเทอร์เน็ตเป็นระยะเวลาที่ไม่ระบุ การดึงข้อมูลอีกครั้งจาก สามารถบังคับอินเทอร์เน็ตด้วยการเปลี่ยนชื่อเอกสารและดึงข้อมูลมาภายใต้ URL อื่น หรือตรวจสอบให้แน่ใจว่าเอกสารมี URL ที่เหมาะสม การตั้งค่าวันหมดอายุ |
<north> | ใช่ | |
<open> | ใช่ | |
<การวางแนว> | ไม่มี | <Model> ไม่รองรับ |
<outerBoundaryIs> | ใช่ | โดยนัยจาก <LinearRing> คำสั่งซื้อ |
<outline> | ใช่ | |
<overlayXY> | ไม่ | |
<Pair> | ไม่มี | <StyleMap> ไม่รองรับ |
<phoneNumber> | ไม่ | |
<PhotoOverlay> | ไม่ | |
<หมุด> | ใช่ | |
<Point> | ใช่ | |
<Polygon> | ใช่ | |
<PolyStyle> | ใช่ | |
<range> | ใช่ | |
<refreshInterval> | บางส่วน | <ลิงก์> เท่านั้น ไม่อยู่ใน <Icon> |
<refreshMode> | ใช่ | ส่วนหัว HTTP ไม่รองรับสำหรับ "onExpire" ดูหมายเหตุเกี่ยวกับ <อัปเดต> และ <expires> ที่ด้านบน |
<refreshVisibility> | ไม่ | |
<Region> | ใช่ | |
<ResourceMap> | ไม่มี | <Model> ไม่รองรับ |
<rightFov> | ไม่มี | <PhotoOverlay> ไม่รองรับ |
<roll> | ไม่มี | <Camera> และ <Model> ไม่รองรับ |
<rotation> | ไม่ | |
<rotationXY> | ไม่ | |
<Scale> | ไม่มี | <Model> ไม่รองรับ |
<scale> | ไม่ | |
<Schema> | ไม่ | |
<SchemaData> | ไม่ | |
<ScreenOverlay> | ใช่ | ไม่สามารถหมุน |
<screenXY> | ไม่ | |
<shape> | ไม่มี | <PhotoOverlay> ไม่รองรับ |
<SimpleData> | ไม่มี | <SchemaData> ไม่รองรับ |
<SimpleField> | ไม่มี | <Schema> ไม่รองรับ |
<size> | ใช่ | |
<Snippet> | ใช่ | |
<south> | ใช่ | |
<state> | ไม่มี | <ListStyle> ไม่รองรับ |
<Style> | ใช่ | |
<StyleMap> | ไม่ | ไม่รองรับเอฟเฟกต์เมื่อวางเมาส์เหนือ (ไฮไลต์) |
<styleUrl> | ไม่มี | <StyleMap> ไม่รองรับ |
<targetHref> | บางส่วน | สนับสนุนใน <Update> แต่ไม่รองรับใน <Alias> |
<tessellate> | ไม่ | |
<text> | ใช่ | ระบบไม่รองรับการแทนที่ $[geDirections] |
<textColor> | ไม่ | |
<tileSize> | ไม่มี | <PhotoOverlay> ไม่รองรับ |
<tilt> | ไม่ | |
<TimeSpan> | ไม่ | |
<TimeStamp> | ไม่ | |
<topFov> | ไม่มี | <PhotoOverlay> ไม่รองรับ |
<อัปเดต> | บางส่วน | การเปลี่ยนแปลงรูปแบบเท่านั้น ไม่ใช่ <Create> หรือ <Delete> |
<Url> | ใช่ | เลิกใช้งานแล้ว |
<value> | ใช่ | |
<viewBoundScale> | ไม่ | |
<viewFormat> | ไม่ | |
<viewRefreshMode> | บางส่วน | "หยุด" ได้รับการสนับสนุน |
<viewRefreshTime> | ใช่ | |
<ViewVolume> | ไม่มี | <PhotoOverlay> ไม่รองรับ |
<visibility> | บางส่วน | ใช่ ใน <Folder> - หมุดย่อยจะรับค่าของหมุด ระดับการเข้าถึง |
<w> | ใช่ | เลิกใช้งานแล้ว |
<west> | ใช่ | |
<when> | ไม่มี | <TimeStamp> ไม่รองรับ |
<width> | ใช่ | |
<x> | ใช่ | เลิกใช้งานแล้ว |
<y> | ใช่ | เลิกใช้งานแล้ว |