Mã bản đồ là giá trị nhận dạng duy nhất đại diện cho kiểu và chế độ cài đặt cấu hình của Google Maps được lưu trữ trong Google Cloud. Bạn sử dụng mã bản đồ để bật các tính năng hoặc quản lý hay định kiểu bản đồ trên trang web và trong ứng dụng. Bạn có thể tạo mã bản đồ cho từng nền tảng mà bạn cần (JavaScript, Android, iOS hoặc Bản đồ tĩnh) trong dự án của bảng điều khiển Cloud Google trên trang Quản lý bản đồ.
Để biết thêm thông tin chi tiết và các tính năng sử dụng mã bản đồ, hãy xem Tổng quan về mã bản đồ.
Các quyền bắt buộc
Để tạo hoặc quản lý bất kỳ mã bản đồ nào trong dự án, bạn phải sử dụng một thực thể chính có quyền ở cấp vai trò phù hợp (Trình chỉnh sửa hoặc Chủ sở hữu) trên trang IAM của bảng điều khiển Cloud cho dự án. Để biết thông tin chi tiết, hãy xem bài viết Tài liệu tham khảo về các vai trò cơ bản và vai trò được xác định trước của IAM.
Tạo mã bản đồ
Tạo mã bản đồ trong bảng điều khiển Cloud theo các bước sau:
Đăng nhập và mở một dự án của bảng điều khiển Cloud có các quyền cần thiết.
Trong bảng điều khiển Cloud, hãy chuyển đến trang Quản lý bản đồ.
Nhấp vào Tạo mã bản đồ.
Trên trang Tạo mã bản đồ mới, hãy làm như sau:
- Đối với Tên, hãy đặt tên cho mã bản đồ.
- Không bắt buộc: Đối với Mô tả, hãy mô tả mục đích sử dụng của mã bản đồ.
- Đối với Loại bản đồ, hãy chọn nền tảng mà bạn dự định sử dụng mã bản đồ. Nếu bạn chọn JavaScript, hãy chọn thêm loại bản đồ Raster (Đường quét) (mặc định) hoặc Vector (Véc tơ). Để biết thêm thông tin về bản đồ véc tơ, hãy xem Bản đồ véc tơ.
- Nhấp vào Lưu để xem mã bản đồ mới.
Liên kết mã bản đồ với kiểu bản đồ
Nếu bạn đang sử dụng tính năng định kiểu bản đồ dựa trên đám mây, hãy liên kết một kiểu bản đồ với mã bản đồ. Để biết thông tin chi tiết, hãy xem bài viết Liên kết kiểu với mã bản đồ.
Thêm mã bản đồ vào ứng dụng
Android
Thêm mã 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 theo phương thức lập trình bằng lớp GoogleMapOptions.
Ví dụ: giả sử bạn đã tạo một mã 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">MAP_ID</string>
</resources>
Đối với các 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ả các mảnh bản đồ phải có kiểu tuỳ chỉnh đều phải chỉ định
mã bản đồ trong thuộc tính map:mapId:
<fragment xmlns:map="http://schemas.android.com/apk/res-auto"
map:name="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ã bản đồ:
<com.google.android.gms.maps.MapView
xmlns:map="http://schemas.android.com/apk/res-auto"
....
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 một thực thể MapFragment bằ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 như bình thường. Các kiểu tuỳ chỉnh được định cấu hình ở bước đầu tiên sẽ được áp dụng cho tất cả bản đồ có mã bản đồ đã chỉ định.
iOS
Để tạo thực thể bản đồ bằng mã bản đồ, hãy làm như sau:
- Tạo
GMSMapIDbằng chuỗi mã bản đồ từ bảng điều khiển Cloud. - Tạo
GMSMapViewchỉ định mã bản đồ mà bạn vừa tạo.
Swift
let camera = GMSCameraPosition(latitude: 47.0169, longitude: -122.336471, zoom: 12)
let mapID = GMSMapID(identifier: "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:@"MAP_ID"];
GMSMapView *mapView = [GMSMapView mapWithFrame:CGRectZero mapID:mapID camera:camera];
self.view = mapView;
Nếu đang sử dụng mã bản đồ của riêng mình, bạn có thể đặt mã bản đồ trong bảng điều khiển Cloud để 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 vòng khoảng 6 giờ.
Nếu muốn xem 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 ứng dụng, buộc thoát ứng dụng khỏi danh sách ứng dụng đã dùng gần đây, rồi mở lại ứng dụng. Sau đó, bạn sẽ thấy bản đồ đã cập nhật.
JavaScript
Cách tạo bản đồ bằng mã bản đồ trong mã xử lý ứng dụng:
Nếu bạn đã tuỳ chỉnh bản đồ bằng mã JSON nhúng, hãy xoá thuộc tính
styleskhỏi đối tượngMapOptions; nếu không, hãy bỏ qua bước này.Thêm mã bản đồ vào bản đồ bằ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' });
Bản đồ tĩnh
Để thêm mã bản đồ vào bản đồ mới hoặc bản đồ 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à đặt tham số đó thành mã bản đồ. Ví dụ này cho thấy cách thêm mã bản đồ vào bản đồ bằng Maps Static API.
<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=MAP_ID&signature=YOUR_SIGNATURE" />