Bắt đầu

Chọn nền tảng: Android iOS JavaScript

Để sử dụng kiểu dựa trên dữ liệu cho các ranh giới, bạn phải tạo mã bản đồ sử dụng bản đồ vectơ JavaScript. Tiếp theo, bạn phải tạo một kiểu bản đồ mới, chọn các lớp đối tượng ranh giới mong muốn và liên kết kiểu đó với mã bản đồ của bạn.

Tạo mã bản đồ

Để tạo mã bản đồ mới, hãy làm theo các bước trong phần Tuỳ chỉnh trên Cloud. Đặt loại Bản đồ thành JavaScript rồi chọn tuỳ chọn Vector (Vectơ). Đánh dấu vào Nghiêng và/hoặc Xoay để bật tính năng nghiêng và xoay trên bản đồ. Nếu việc sử dụng độ nghiêng hoặc hướng sẽ ảnh hưởng bất lợi đến ứng dụng của bạn, hãy bỏ đánh dấu Độ nghiêngXoay để người dùng không thể điều chỉnh độ nghiêng và độ xoay.

Tạo mã bản đồ vectơ

Tạo kiểu bản đồ mới

Để tạo kiểu bản đồ mới, hãy làm theo hướng dẫn trong phần Quản lý kiểu bản đồ để tạo kiểu và liên kết kiểu đó với mã bản đồ bạn vừa tạo.

Chọn lớp đối tượng

Trong Google API Console, bạn có thể chọn lớp đối tượng để hiển thị. Giá trị này xác định loại ranh giới sẽ xuất hiện trên bản đồ (ví dụ: địa phương, tiểu bang, v.v.).

Cách quản lý lớp đối tượng

  1. Trong Google API Console, hãy chuyển đến trang Kiểu bản đồ.
  2. Chọn một dự án nếu bạn nhận được lời nhắc.
  3. Chọn một kiểu bản đồ.
  4. Nhấp vào trình đơn thả xuống Lớp đối tượng để thêm hoặc xoá lớp.
  5. Nhấp vào Lưu để lưu các thay đổi và áp dụng cho bản đồ của bạn.

Ảnh chụp màn hình trình đơn thả xuống.

Cập nhật mã khởi chạy bản đồ

Bạn cần có mã bản đồ mà bạn vừa tạo. Bạn có thể tìm thấy thông tin này trên trang Quản lý Maps.

  1. Tải API Maps JavaScript bằng cách thêm trình tải bootstrap cùng dòng vào mã ứng dụng, như trong đoạn mã 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>
  1. Cung cấp mã bản đồ khi bạn tạo bản sao bản đồ bằng thuộc tính mapId. Đây phải là mã bản đồ mà bạn đã định cấu hình bằng một kiểu bản đồ có bật lớp tính năng.

    map = new
    google.maps.Map(document.getElementById('map'), {
      center: {lat: -34.397, lng: 150.644},
      zoom: 8,
      mapId: 'MAP_ID' // A map ID using a style with one or more feature layers enabled.
    });

Tìm hiểu thêm về cách tải API Maps JavaScript.

Thêm lớp đối tượng vào bản đồ

Để tham chiếu đến một lớp đối tượng trên bản đồ, hãy gọi map.getFeatureLayer() khi bản đồ khởi chạy:

function initMap() {
  map = new google.maps.Map(document.getElementById("map"), {
    center: { lat: 20.773, lng: -156.01 },
    zoom: 12,
    mapId: 'MAP_ID',
  });

  // Add a feature layer for localities.
  localityLayer = map.getFeatureLayer('LOCALITY');
  ...
}

Kiểm tra chức năng của bản đồ

Kiểu dáng dựa trên dữ liệu cho ranh giới yêu cầu các tính năng được bật trong Google API Console và liên kết với mã bản đồ. Vì mã bản đồ là tạm thời và có thể thay đổi, nên bạn có thể gọi map.getMapCapabilities() để xác minh xem một chức năng nhất định (ví dụ: tạo kiểu dựa trên dữ liệu) có sẵn hay không trước khi gọi chức năng đó. Bạn không bắt buộc phải kiểm tra bước này.

Ví dụ sau đây cho thấy cách thêm trình nghe để đăng ký các thay đổi về tính năng bản đồ:

// subscribe to changes
map.addListener('mapcapabilities_changed', () => {
  const mapCapabilities = map.getMapCapabilities();

  if (!mapCapabilities.isDataDrivenStylingAvailable) {
    // Data-driven styling is *not* available, add a fallback.
    // Existing feature layers are also unavailable.
  }
});

Các bước tiếp theo