Sử dụng mã bản đồ

Mã bản đồ là giá trị nhận dạng liên kết với một kiểu bản đồ hoặc tính năng cụ thể. Định cấu hình kiểu bản đồ và liên kết kiểu đó với mã bản đồ trong Google Cloud Console. Sau đó, khi bạn tham chiếu mã bản đồ trong mã, kiểu bản đồ liên kết với mã đó sẽ xuất hiện trong ứng dụng của bạn. Mọi bản cập nhật kiểu tiếp theo mà bạn thực hiện sẽ tự động xuất hiện trong ứng dụng mà không cần khách hàng cập nhật thông tin.

Sau khi tạo, mã bản đồ sẽ được liên kết với một dự án và cũng bị hạn chế ở một nền tảng duy nhất (Android, iOS, JavaScript) hoặc API Maps tĩnh.

Để tạo hoặc quản lý mã bản đồ bất kỳ trong Cloud Console, bạn phải có vai trò Chủ sở hữu dự án hoặc Trình chỉnh sửa dự án IAM.

Các quyền bắt buộc

Để tạo hoặc quản lý bất kỳ mã bản đồ hoặc Kiểu bản đồ nào trong một dự án Google Cloud cụ thể, bạn phải có vai trò Chủ sở hữu hoặc Người chỉnh sửa IAM trên dự án.

Tạo mã bản đồ

Mã bản đồ là một giá trị nhận dạng duy nhất đại diện cho một bản sao của Google Map. Bạn có thể tạo mã bản đồ và cập nhật một kiểu liên kết với mã bản đồ bất cứ lúc nào trong Cloud Console.

Để tạo mã bản đồ, bạn hãy làm như sau:

  1. Trong Cloud Console, hãy truy cập vào trang Quản lý Maps.
  2. Chọn Create New Map ID (Tạo mã bản đồ mới) để hiển thị biểu mẫu Tạo mã bản đồ mới.
    Tạo mã bản đồ mới

    Trong biểu mẫu, hãy làm như sau:

    • Chỉ định tên bản đồ.
    • Chỉ định một loại bản đồ hoặc nền tảng.
    • Đối với bản đồ JavaScript, hãy chọn loại bản đồ đường quét hoặc vectơ.
    • Nhập nội dung mô tả của bản đồ.
    • Chọn Tiếp theo để hiển thị mã bản đồ mới.

Liên kết mã bản đồ với kiểu bản đồ

Những hướng dẫn này giả định rằng có ít nhất một kiểu bản đồ hiện có trong dự án của bạn.

  1. Trong Cloud Console, hãy truy cập vào trang Quản lý Maps.
  2. Trên trang này, hãy chọn một mã bản đồ hiện có trong cột Tên bản đồ.
  3. Ở cuối biểu mẫu này, hãy chọn kiểu bản đồ từ trình đơn thả xuống Kiểu bản đồ được liên kết với ID bản đồ này.
  4. Chọn Lưu.
    Ảnh chụp màn hình hiển thị trang chi tiết của một mã bản đồ duy nhất, bao gồm cả trường thả xuống cho phép người dùng liên kết một kiểu bản đồ với mã bản đồ này.

Thêm mã bản đồ vào ứng dụng

Android

Thêm mã bản đồ của bạn thông qua phần tử <fragment> trong tệp bố cục của hoạt động, bằng cách sử dụng lớp MapView hoặc sử dụng lớp GoogleMapOptions theo phương thức lập trình.

Ví dụ: giả sử bạn đã tạo một mã nhận dạng bản đồ được lưu trữ dưới dạng giá trị chuỗi có tên là map_id trong res/values/strings.xml:

<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="map_id">YOUR_MAP_ID</string>
</resources>

Đối với bản đồ được thêm thông qua phần tử <fragment> trong tệp bố cục của hoạt động, tất cả mảnh bản đồ phải có kiểu tuỳ chỉnh phải chỉ định mã nhận dạng bản đồ trong thuộc tính map:mapId:

<fragment xmlns:map="http://schemas.android.com/apk/res-auto"
    class="com.google.android.gms.maps.SupportMapFragment"
    …
    map:mapId="@string/map_id" />

Bạn cũng có thể sử dụng thuộc tính map:mapId của lớp MapView để chỉ định mã nhận dạng bản đồ:

<com.google.android.gms.maps.MapView
    xmlns:android="http://schemas.android.com/apk/res/android"
    ....
    map:mapId="@string/map_id" />

Để chỉ định mã bản đồ theo phương thức lập trình, hãy truyền mã này vào bản sao MapFragment bằng cách sử dụng lớp GoogleMapOptions:

Java

 MapFragment mapFragment = MapFragment.newInstance(
     new GoogleMapOptions()
         .mapId(getResources().getString(R.string.map_id)));

Kotlin

 val mapFragment = MapFragment.newInstance(
     GoogleMapOptions()
         .mapId(resources.getString(R.string.map_id))
 )

Trong Android Studio, hãy tạo và chạy ứng dụng của bạn như bình thường. Kiểu tuỳ chỉnh, như được định cấu hình trong bước đầu tiên, sẽ được áp dụng cho tất cả bản đồ có một mã nhận dạng.

iOS

Để tạo bản đồ bằng mã bản đồ, hãy làm như sau:

  1. Tạo GMSMapID với chuỗi mã bản đồ từ Cloud Console.
  2. Tạo GMSMapView để chỉ định mã bản đồ bạn vừa tạo.

Swift

let camera = GMSCameraPosition(latitude: 47.0169, longitude: -122.336471, zoom: 12)
let mapID = GMSMapID(identifier: "<YOUR MAP ID>")
let mapView = GMSMapView(frame: .zero, mapID: mapID, camera: camera)
self.view = mapView

Objective-C

GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:47.0169
                                                        longitude:-122.336471
                                                             zoom:12];
GMSMapID *mapID = [GMSMapID mapIDWithIdentifier:@"<YOUR MAP ID>"];
GMSMapView *mapView = [GMSMapView mapWithFrame:CGRectZero mapID:mapID camera:camera];
self.view = mapView;

Nếu đang sử dụng mã bản đồ riêng của mình, bạn có thể đặt mã bản đồ trong Cloud Console để có kiểu mới bất cứ lúc nào và kiểu đó sẽ tự động được phản ánh trên chế độ xem bản đồ cho bạn và người dùng trong khoảng 6 giờ.

Nếu muốn thấy các thay đổi ngay lập tức, bạn có thể đóng và khởi động lại ứng dụng bằng cách thoát khỏi ứng dụng, buộc ứng dụng thoát khỏi danh sách ứng dụng đã sử dụng gần đây rồi mở lại. Khi đó, bản đồ đã cập nhật sẽ xuất hiện.

JavaScript

Để tạo bản đồ bằng mã bản đồ trong mã ứng dụng của bạn:

  1. Nếu bạn đang tuỳ chỉnh bản đồ của mình bằng mã JSON nhúng, hãy xoá thuộc tính styles khỏi đối tượng MapOptions của bạn. Nếu không, hãy bỏ qua bước này.

  2. Thêm mã nhận dạng bản đồ vào bản đồ bằng cách sử dụng thuộc tính mapId. Ví dụ:

map = new google.maps.Map(document.getElementById('map'), {
center: {lat: -34.397, lng: 150.644},
zoom: 8,
mapId: 'MAP_ID'
});

Maps Tĩnh

Để thêm mã bản đồ vào bản đồ mới hoặc hiện có sử dụng một trong các API dịch vụ web của chúng tôi, hãy thêm tham số URL map_id vào mã bản đồ đó. Ví dụ này cho thấy việc thêm mã bản đồ vào bản đồ bằng API tĩnh tĩnh của Maps.

<img src="https://maps.googleapis.com/maps/api/staticmap?center=Brooklyn+Bridge,New+York,NY&zoom=13&size=600x300&maptype=roadmap&markers=color:blue%7Clabel:S%7C40.702147,-74.015794&markers=color:green%7Clabel:G%7C40.711614,-74.012318&markers=color:red%7Clabel:C%7C40.718217,-73.998284&key=YOUR_API_KEY&map_id=YOUR_MAP_ID&signature=YOUR_SIGNATURE" />

Một bản đồ nằm giữa Cầu Brooklyn ở Thành phố New York, New York, Hoa Kỳ với các nút điều khiển bản đồ ở góc dưới bên phải. Bản đồ hiển thị kiểu tùy chỉnh trên đường, mặt nước và đất liền.

Nếu có chữ ký số trong URL tĩnh của Maps trước khi thêm mã bản đồ, bạn cần phải tạo và thêm chữ ký số mới sau khi thêm mã bản đồ. Khi tạo mã bí mật ký URL mới, hãy nhớ xóa chữ ký điện tử trước đó của bạn khỏi URL.

Các tính năng có sẵn khi sử dụng mã bản đồ

Tạo kiểu bản đồ dựa trên đám mây: tạo kiểu, tùy chỉnh và quản lý bản đồ của bạn bằng Google Cloud Console.
Có sẵn trên tất cả nền tảng (API tĩnh của Android, JavaScript, iOS và Maps)

Bản đồ vectơ: bản đồ bao gồm các ô dựa trên vectơ, được vẽ tại thời điểm tải ở phía máy khách bằng cách sử dụng WebGL.
Có sẵn trên JavaScript