หากต้องการโหลดโค้ด JavaScript สำหรับ Maps JavaScript API คุณต้อง ใส่สคริปต์ตัวโหลด bootstrap ในหน้าเว็บในรูปแบบต่อไปนี้
<script> (g=>{var h,a,k,p="The Google Maps JavaScript API",c="google",l="importLibrary",q="__ib__",m=document,b=window;b=b[c]||(b[c]={});var d=b.maps||(b.maps={}),r=new Set,e=new URLSearchParams,u=()=>h||(h=new Promise(async(f,n)=>{await (a=m.createElement("script"));e.set("libraries",[...r]+"");for(k in g)e.set(k.replace(/[A-Z]/g,t=>"_"+t[0].toLowerCase()),g[k]);e.set("callback",c+".maps."+q);a.src=`https://maps.${c}apis.com/maps/api/js?`+e;d[q]=f;a.onerror=()=>h=n(Error(p+" could not load."));a.nonce=m.querySelector("script[nonce]")?.nonce||"";m.head.append(a)}));d[l]?console.warn(p+" only loads once. Ignoring:",g):d[l]=(f,...n)=>r.add(f)&&u().then(()=>d[l](f,...n))})({ key: "YOUR_API_KEY", v: "weekly", // Use the 'v' parameter to indicate the version to use (weekly, beta, alpha, etc.). // Add other bootstrap parameters as needed, using camel case. }); </script>
Maps JavaScript API สร้างขึ้นจากไลบรารีที่จะไม่โหลดจนกว่าคุณจะ คำขอเป็นพิเศษ การแยกคอมโพเนนต์ออกเป็นไลบรารีช่วยให้สามารถ API เพื่อโหลด (และแยกวิเคราะห์) อย่างรวดเร็ว คุณจะต้องเสียค่าใช้จ่ายเพิ่มเติมในการโหลดและการแยกวิเคราะห์เท่านั้น ไลบรารีที่คุณต้องการ
โหลดไลบรารีเพิ่มเติมขณะรันไทม์โดยใช้โอเปอเรเตอร์ await
เพื่อเรียกใช้
importLibrary()
จากภายในฟังก์ชัน async
เช่น
const { Map } = await google.maps.importLibrary("maps");
ตัวอย่างโค้ดต่อไปนี้แสดงการโหลดทั้งไลบรารี Map
และ AdvancedMarkerElement
TypeScript
// Initialize and add the map let map; async function initMap(): Promise<void> { // The location of Uluru const position = { lat: -25.344, lng: 131.031 }; // Request needed libraries. //@ts-ignore const { Map } = await google.maps.importLibrary("maps") as google.maps.MapsLibrary; const { AdvancedMarkerElement } = await google.maps.importLibrary("marker") as google.maps.MarkerLibrary; // The map, centered at Uluru map = new Map( document.getElementById('map') as HTMLElement, { zoom: 4, center: position, mapId: 'DEMO_MAP_ID', } ); // The marker, positioned at Uluru const marker = new AdvancedMarkerElement({ map: map, position: position, title: 'Uluru' }); } initMap();
JavaScript
// Initialize and add the map let map; async function initMap() { // The location of Uluru const position = { lat: -25.344, lng: 131.031 }; // Request needed libraries. //@ts-ignore const { Map } = await google.maps.importLibrary("maps"); const { AdvancedMarkerElement } = await google.maps.importLibrary("marker"); // The map, centered at Uluru map = new Map(document.getElementById("map"), { zoom: 4, center: position, mapId: "DEMO_MAP_ID", }); // The marker, positioned at Uluru const marker = new AdvancedMarkerElement({ map: map, position: position, title: "Uluru", }); } initMap();
ไลบรารีสำหรับการนำเข้าไลบรารีแบบไดนามิก
ไลบรารีต่อไปนี้ใช้ได้กับ การนำเข้าไลบรารีแบบไดนามิก:
core
(google.maps.CoreLibrary
)maps
(google.maps.MapsLibrary
)places
(google.maps.PlacesLibrary
)geocoding
(google.maps.GeocodingLibrary
)routes
(google.maps.RoutesLibrary
)marker
(google.maps.MarkerLibrary
)geometry
(google.maps.GeometryLibrary
)elevation
(google.maps.ElevationLibrary
)streetView
(google.maps.StreetViewLibrary
)journeySharing
(google.maps.JourneySharingLibrary
)drawing
(google.maps.DrawingLibrary
)visualization
(google.maps.VisualizationLibrary
)
ไลบรารีสำหรับ URL เปิดเครื่อง (เดิม)
ไลบรารีต่อไปนี้รองรับการใช้งานกับ แท็กสคริปต์ Bootstrap เดิม:drawing
มีอินเทอร์เฟซแบบกราฟิกให้ผู้ใช้วาด รูปหลายเหลี่ยม สี่เหลี่ยมผืนผ้า เส้นประกอบ วงกลม และเครื่องหมายบนแผนที่ ปรึกษา เวลา ภาพวาด สำหรับข้อมูลเพิ่มเติมได้geometry
มีฟังก์ชันยูทิลิตีสำหรับการคำนวณ ค่าเรขาคณิตแบบสเกลาร์ (เช่น ระยะทางและพื้นที่) บนพื้นผิว ของโลก ไปที่ เรขาคณิต สำหรับข้อมูลเพิ่มเติมได้journeySharing
ให้บริการสนับสนุนสำหรับ Google Maps Platform การขนส่ง และโซลูชันด้านโลจิสติกส์localContext
แสดงสถานที่น่าสนใจที่สำคัญแก่ผู้ใช้ ใกล้สถานที่ตั้งที่คุณระบุ ไปที่ บริบทเฉพาะรายการ สำหรับข้อมูลเพิ่มเติมได้marker
ช่วยให้คุณสามารถเพิ่มเครื่องหมายขั้นสูงที่สามารถปรับแต่งได้และมีประสิทธิภาพในระดับสูง แผนที่ ดูเอกสารเกี่ยวกับเครื่องหมายขั้นสูง เพื่อดูข้อมูลเพิ่มเติมplaces
ช่วยให้แอปพลิเคชันของคุณค้นหาสถานที่เช่น เป็นสถานประกอบการ สถานที่ตั้งทางภูมิศาสตร์ หรือจุดสนใจที่โดดเด่น ภายในพื้นที่ที่กำหนด ไปที่ ห้องสมุดสถานที่ สำหรับข้อมูลเพิ่มเติมvisualization
มีแผนที่ความหนาแน่นสำหรับเห็นภาพ ไปที่ การแสดงภาพ สำหรับข้อมูลเพิ่มเติมได้
คำขอ Bootstrap ต่อไปนี้แสดงวิธีเพิ่มคำขอสำหรับ
ไลบรารี google.maps.geometry
ของ Maps JavaScript API ไปยังไฟล์เดิม
สคริปต์ตัวโหลด Bootstrap:
<script async
src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&loading=async&libraries=geometry&callback=initMap">
</script>
หากต้องการขอไลบรารีหลายรายการ ให้คั่นแต่ละรายการด้วยคอมมา ดังนี้
<script async
src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&loading=async&libraries=geometry,places&callback=initMap">
</script>