ตั้งแต่วันที่ 21 กุมภาพันธ์ 2024 (v3.56) เราจะเลิกใช้งาน google.maps.Marker เราขอแนะนำให้คุณเปลี่ยนไปใช้google.maps.marker.AdvancedMarkerElement
คลาสใหม่ เครื่องหมายขั้นสูงมีการปรับปรุงอย่างมากเมื่อเทียบกับคลาส google.maps.Marker
รุ่นเดิม
ดูข้อมูลเพิ่มเติมเกี่ยวกับการเลิกใช้งานนี้
หากต้องการอัปเดตเครื่องหมายเดิมให้เป็นเครื่องหมายขั้นสูง ให้ทำตามขั้นตอนต่อไปนี้
- เพิ่มโค้ดเพื่อนําเข้าคลังเครื่องหมาย โปรดทราบว่าเครื่องหมายเวอร์ชันก่อนหน้า (
google.maps.Marker
) ไม่จำเป็นต้องทำตามข้อกำหนดนี้ - เปลี่ยน
google.maps.Marker
เป็นgoogle.maps.marker.AdvancedMarkerElement
- เพิ่มรหัสแผนที่ลงในโค้ดการเริ่มต้นแผนที่ เช่น ใช้
mapId: 'DEMO_MAP_ID'
เพื่อวัตถุประสงค์ในการทดสอบหากคุณยังไม่มีรหัสแผนที่
เพิ่มคลังเครื่องหมายขั้นสูง
วิธีการที่คุณใช้โหลดไลบรารีจะขึ้นอยู่กับวิธีที่หน้าเว็บโหลด Maps JavaScript API
หากหน้าเว็บใช้การโหลดสคริปต์แบบไดนามิก ให้เพิ่มไลบรารีเครื่องหมายและนําเข้า
AdvancedMarkerElement
(และPinElement
หากต้องการ) ขณะรันไทม์ ดังที่แสดงที่นี่const { AdvancedMarkerElement, PinElement } = await google.maps.importLibrary("marker");
หากหน้าเว็บใช้แท็กการโหลดสคริปต์โดยตรงแบบเดิม ให้เพิ่ม
libraries=marker
ลงในสคริปต์การโหลด ดังที่แสดงในข้อมูลโค้ดต่อไปนี้<script src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&callback=initMap&v=weekly&libraries=marker" defer ></script>
ดูข้อมูลเพิ่มเติมเกี่ยวกับการโหลด Maps JavaScript API
ตัวอย่าง
ตัวอย่างโค้ดต่อไปนี้แสดงโค้ดสําหรับการเพิ่มเครื่องหมายเดิม ตามด้วยโค้ดสําหรับตัวอย่างเดียวกันโดยใช้เครื่องหมายขั้นสูง
ก่อนการย้ายข้อมูล
// The location of Uluru const position = { lat: -25.344, lng: 131.031 }; const map = new google.maps.Map(document.getElementById("map"), { zoom: 4, center: position, }); // The marker, positioned at Uluru const marker = new google.maps.Marker({ map: map, position: position, title: 'Uluru', });
หลังการย้ายข้อมูล
// The location of Uluru const position = { lat: -25.344, lng: 131.031 }; const map = new google.maps.Map(document.getElementById("map"), { zoom: 4, center: position, mapId: "DEMO_MAP_ID", // Map ID is required for advanced markers. }); // The advanced marker, positioned at Uluru const marker = new google.maps.marker.AdvancedMarkerElement({ map, position: position, title: 'Uluru', });
สำรวจฟีเจอร์เครื่องหมายขั้นสูง
คุณสามารถปรับแต่งเครื่องหมายขั้นสูงในแบบที่ไม่เคยทำได้มาก่อน ตอนนี้คุณสามารถปรับขนาด (สเกล) ของเครื่องหมาย รวมถึงเปลี่ยนสีของพื้นหลัง เส้นขอบ และสัญลักษณ์ได้แล้ว รูปภาพกราฟิกที่กำหนดเองใช้งานได้ง่ายขึ้น และตอนนี้คุณยังเขียนเครื่องหมายที่กำหนดเองโดยใช้ HTML และ CSS ได้ด้วย ดูข้อมูลเพิ่มเติมเกี่ยวกับทุกสิ่งที่คุณทำได้ด้วยเครื่องหมายขั้นสูง