Sử dụng mã bản đồ
Mã bản đồ là giá trị nhận dạng được liên kết với một kiểu hoặc đối tượng bản đồ cụ thể. Định cấu hình kiểu bản đồ và liên kết kiểu đó với mã nhận dạng bản đồ trong Google Cloud Console. Sau đó, khi bạn tham chiếu ID bản đồ trong mã của mình, kiểu bản đồ được liên kết là hiển thị trong ứng dụng của mình. Mọi nội dung cập nhật về kiểu tiếp theo mà bạn thực hiện sẽ tự động xuất hiện trong ứng dụng của bạn, mà không cần khách hàng cập nhật.
Sau khi tạo, mã bản đồ sẽ được liên kết với một dự án và cũng được liên kết chỉ dành cho một nền tảng (Android, iOS, JavaScript) hoặc API Tĩnh của Maps.
Để tạo hoặc quản lý bất kỳ mã bản đồ nào trong Cloud Console, bạn phải có liên kết Project Vai trò quản lý danh tính và quyền truy cập (IAM) của Chủ sở hữu hoặc Người chỉnh sửa dự án.
Các quyền bắt buộc
Để tạo hoặc quản lý bất kỳ ID bản đồ nào hoặc Kiểu ánh xạ trong một cho dự án Google Cloud, bạn phải có một trong hai Vai trò quản lý danh tính và quyền truy cập (IAM) là chủ sở hữu hoặc Người chỉnh sửa cho dự án này.
Tạo mã bản đồ
Mã bản đồ là giá trị nhận dạng duy nhất đại diện cho một phiên bản của Google Bản đồ. Bạn có thể tạo mã bản đồ và cập nhật kiểu được liên kết với mã bản đồ bất kỳ lúc nào trong Bảng điều khiển Cloud.
Cách tạo mã bản đồ:
- Trong Cloud Console, hãy chuyển đến Trang Quản lý Maps.
- Chọn Tạo mã bản đồ mới để hiển thị nút Tạo
Biểu mẫu Mã bản đồ mới.
Trong biểu mẫu này, 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 đồ vectơ hoặc đường quét.
- Nhập 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 hiện có ít nhất một kiểu bản đồ trong dự án của bạn.
- Trong Cloud Console, hãy chuyển đến Trang Quản lý Maps.
- Trên trang này, hãy chọn một mã bản đồ hiện có từ cột Tên bản đồ.
- Ở cuối biểu mẫu này, hãy chọn kiểu bản đồ trong trình đơn thả xuống Kiểu bản đồ được liên kết với Mã bản đồ này.
- Chọn Lưu.
Thêm mã bản đồ vào ứng dụng của bạn
Android
Thêm mã bản đồ của bạn thông qua một phần tử <fragment>
trong phần tử 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 cách sử dụng
GoogleMapOptions
.
Ví dụ: giả sử bạn đã tạo ID bản đồ được lưu trữ dưới dạng
giá trị chuỗi có tên 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ả các mảnh bản đồ có kiểu tuỳ chỉnh phải chỉ định
mã 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ã 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 MapFragment
thực thể 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. 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ã nhận dạng.
iOS
Để tạo bản đồ bằng mã nhận dạng bản đồ, hãy làm theo các bước sau:
- Tạo
GMSMapID
bằng chuỗi mã nhận dạng bản đồ trong Cloud Console. - Tạo một
GMSMapView
chỉ đị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: "<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 đồ của riêng mình, bạn có thể đặt mã bản đồ trong Cloud Console để có một kiểu mới bất cứ lúc nào, và kiểu đó sẽ được tự động 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 thấy các thay đổi ngay lập tức, bạn có thể đóng rồi khởi động lại ứng dụng của bạn bằng cách thoát khỏi ứng dụng, buộc thoát khỏi ứng dụng danh sách ứng dụng rồi mở lại. Sau đó, bản đồ được cập nhật sẽ hiển thị.
JavaScript
Để tạo bản đồ bằng mã bản đồ trong mã xử lý ứng dụng của bạn:
Nếu bạn hiện đang tuỳ chỉnh bản đồ của mình bằng mã JSON được nhúng, hãy xoá Thuộc tính
styles
từ đối tượngMapOptions
của bạn; nếu không, hãy bỏ qua bước này.Thêm mã 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' });
Bản đồ tĩnh
Để thêm ID bản đồ vào bản đồ mới hoặc hiện có sử dụng một trong
web-service API, hãy thêm tham số URL map_id
và đặt tham số đó vào mã bản đồ của bạn.
Ví dụ này minh hoạ việc thêm mã nhận dạng bản đồ vào bản đồ bằng cách sử dụ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=YOUR_MAP_ID&signature=YOUR_SIGNATURE" />
Các tính năng có thể sử dụng khi sử dụng mã bản đồ
định 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ó trên tất cả các nền tảng (Android, JavaScript, iOS và Maps Static API)
Bản đồ vectơ: một bản đồ bao gồm các ô dựa trên vectơ được vẽ vào 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