Thư viện

Để tải mã JavaScript cho API JavaScript của Maps, bạn cần bao gồm tập lệnh trình tải bootstrap trên trang của mình, có dạng sau:

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

API JavaScript của Maps bao gồm các thư viện không được tải cho đến khi bạn yêu cầu cụ thể. Việc chia nhỏ các thành phần thành thư viện cho phép API tải (và phân tích cú pháp) một cách nhanh chóng. Bạn chỉ phải chịu thêm phí tổn khi tải và phân tích cú pháp thư viện khi cần.

Tải các thư viện bổ sung trong thời gian chạy, bằng cách dùng toán tử await để gọi importLibrary() từ trong hàm async. Ví dụ:

const { Map } = await google.maps.importLibrary("maps");

Ví dụ về mã sau đây cho thấy việc tải cả thư viện MapAdvancedMarkerElement:

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();

Các thư viện để nhập thư viện động

Bạn có thể sử dụng các thư viện sau với tính năng Nhập thư viện động:

Thư viện cho URL tự khởi động (cũ)

Bạn có thể sử dụng các thư viện sau với thẻ tập lệnh tự khởi động cũ:
  • drawing cung cấp giao diện đồ hoạ để người dùng vẽ đa giác, hình chữ nhật, hình nhiều đường, hình tròn và điểm đánh dấu trên bản đồ. Hãy tham khảo tài liệu về Thư viện vẽ để biết thêm thông tin.
  • geometry bao gồm các hàm hiệu dụng để tính toán các giá trị hình học vô hướng (chẳng hạn như khoảng cách và diện tích) trên bề mặt trái đất. Hãy tham khảo tài liệu về thư viện Hình học để biết thêm thông tin.
  • journeySharing hỗ trợ các giải pháp Vận chuyển và hậu cần của Nền tảng Google Maps.
  • localContext hiển thị cho người dùng các địa điểm quan tâm chính ở gần vị trí mà bạn chỉ định. Hãy tham khảo tài liệu về thư viện Ngữ cảnh cục bộ để biết thêm thông tin.
  • marker cho phép bạn thêm Điểm đánh dấu nâng cao có khả năng tuỳ chỉnh cao và hiệu quả vào bản đồ. Hãy tham khảo tài liệu về Điểm đánh dấu nâng cao để biết thêm thông tin.
  • places cho phép ứng dụng của bạn tìm kiếm các địa điểm như cơ sở, vị trí địa lý hoặc địa điểm yêu thích nổi bật, trong một khu vực được xác định. Tham khảo tài liệu về thư viện Địa điểm để biết thêm thông tin.
  • visualization cung cấp bản đồ nhiệt để trình bày dữ liệu một cách trực quan. Hãy tham khảo tài liệu về thư viện Hình ảnh trực quan để biết thêm thông tin.

Yêu cầu khởi động sau đây minh hoạ cách thêm yêu cầu cho thư viện google.maps.geometry của API JavaScript của Maps vào tập lệnh trình tải khởi động cũ:

<script async
    src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&loading=async&libraries=geometry&callback=initMap">
</script>

Để yêu cầu nhiều thư viện, hãy phân tách các thư viện bằng dấu phẩy:

<script async
    src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&loading=async&libraries=geometry,places&callback=initMap">
</script>