Kiểu bản đồ mới sắp xuất hiện trên Nền tảng Google Maps. Bản cập nhật này để tạo kiểu bản đồ bao gồm một bảng màu mặc định mới và các cải tiến về trải nghiệm bản đồ cũng như khả năng hữu dụng. Tất cả kiểu bản đồ sẽ được cập nhật tự động vào tháng 3 năm 2025. Để biết thêm thông tin về phạm vi cung cấp và cách chọn tham gia sớm hơn, hãy xem bài viết Kiểu bản đồ mới cho Nền tảng Google Maps.
Trang này là hướng dẫn nhanh về cách tạo kiểu cho bản đồ của bạn, sử dụng chế độ ban đêm làm ví dụ.
Tổng quan
Với các lựa chọn về phong cách, bạn có thể tuỳ chỉnh bản trình bày của Google
kiểu bản đồ, thay đổi cách hiển thị trực quan của các đối tượng như đường, công viên,
doanh nghiệp và các địa điểm ưa thích khác. Điều này có nghĩa là bạn có thể nhấn mạnh
thành phần cụ thể của bản đồ hoặc làm cho bản đồ bổ trợ cho phong cách của
.
Kiểu chỉ hoạt động trên loại bản đồ kGMSTypeNormal.
Đang áp dụng kiểu cho bản đồ của bạn
Để áp dụng kiểu bản đồ tuỳ chỉnh cho một bản đồ, hãy gọi GMSMapStyle(...) để tạo một
Thực thể GMSMapStyle, truyền một URL của một tệp JSON cục bộ hoặc một JSON
chuỗi chứa định nghĩa kiểu. Chỉ định thực thể GMSMapStyle cho
Thuộc tính mapStyle của bản đồ.
Sử dụng tệp JSON
Các ví dụ sau đây minh hoạ việc gọi GMSMapStyle(...) và truyền một URL cho
tệp cục bộ:
Swift
importGoogleMapsclassMapStyling:UIViewController{// Set the status bar style to complement night-mode.overridevarpreferredStatusBarStyle:UIStatusBarStyle{return.lightContent}overridefuncloadView(){letcamera=GMSCameraPosition.camera(withLatitude:-33.86,longitude:151.20,zoom:14.0)letmapView=GMSMapView.map(withFrame:CGRect.zero,camera:camera)do{// Set the map style by passing the URL of the local file.ifletstyleURL=Bundle.main.url(forResource: "style",withExtension: "json"){mapView.mapStyle=tryGMSMapStyle(contentsOfFileURL:styleURL)}else{NSLog("Unabletofindstyle.json")}}catch{NSLog("Oneormoreofthemapstylesfailedtoload.\(error)")}self.view=mapView}}
Objective-C
#import "MapStyling.h"
@importGoogleMaps;@interfaceMapStyling()@end@implementationMapStyling// Set the status bar style to complement night-mode.-(UIStatusBarStyle)preferredStatusBarStyle{returnUIStatusBarStyleLightContent;}-(void)loadView{GMSCameraPosition*camera=[GMSCameraPositioncameraWithLatitude:-33.86longitude:151.20zoom:12];GMSMapView*mapView=[GMSMapViewmapWithFrame:CGRectZerocamera:camera];mapView.myLocationEnabled=YES;NSBundle*mainBundle=[NSBundlemainBundle];NSURL*styleUrl=[mainBundleURLForResource:@"style"withExtension:@"json"];NSError*error;// Set the map style by passing the URL for style.json.GMSMapStyle*style=[GMSMapStylestyleWithContentsOfFileURL:styleUrlerror:&error];if(!style){NSLog(@"Thestyledefinitioncouldnotbeloaded:%@",error);}mapView.mapStyle=style;self.view=mapView;}@end
Để xác định các tuỳ chọn kiểu, hãy thêm một tệp mới vào dự án có tên là style.json và dán nội dung khai báo kiểu JSON sau đây để tạo kiểu cho chế độ ban đêm:
Các ví dụ sau đây cho thấy cách gọi GMSMapStyle(...) và truyền một chuỗi
tài nguyên:
Swift
classMapStylingStringResource:UIViewController{letMapStyle= "JSON_STYLE_GOES_HERE"
// Set the status bar style to complement night-mode.overridevarpreferredStatusBarStyle:UIStatusBarStyle{return.lightContent}overridefuncloadView(){letcamera=GMSCameraPosition.camera(withLatitude:-33.86,longitude:151.20,zoom:14.0)letmapView=GMSMapView.map(withFrame:CGRect.zero,camera:camera)do{// Set the map style by passing a valid JSON string.mapView.mapStyle=tryGMSMapStyle(jsonString:MapStyle)}catch{NSLog("Oneormoreofthemapstylesfailedtoload.\(error)")}self.view=mapView}}
Objective-C
@implementationMapStylingStringResource// Paste the JSON string to use.staticNSString*constkMapStyle=@"JSON_STYLE_GOES_HERE";// Set the status bar style to complement night-mode.-(UIStatusBarStyle)preferredStatusBarStyle{returnUIStatusBarStyleLightContent;}-(void)loadView{GMSCameraPosition*camera=[GMSCameraPositioncameraWithLatitude:-33.86longitude:151.20zoom:12];GMSMapView*mapView=[GMSMapViewmapWithFrame:CGRectZerocamera:camera];mapView.myLocationEnabled=YES;NSError*error;// Set the map style by passing a valid JSON string.GMSMapStyle*style=[GMSMapStylestyleWithJSONString:kMapStyleerror:&error];if(!style){NSLog(@"Thestyledefinitioncouldnotbeloaded:%@",error);}mapView.mapStyle=style;self.view=mapView;}@end
Để xác định các tuỳ chọn kiểu, hãy dán chuỗi kiểu sau làm giá trị của
biến kMapStyle:
Bản đồ được tạo kiểu sử dụng hai khái niệm để áp dụng màu sắc và các thay đổi khác về kiểu cho
ánh xạ:
Bộ chọn chỉ định các thành phần địa lý mà bạn có thể
kiểu trên bản đồ. Chúng bao gồm đường phố, công viên, sông nước và
cũng như nhãn của chúng. Bộ chọn bao gồm các tính năng
và phần tử, được chỉ định là featureType và
Tài sản elementType.
Bộ định kiểu (Stylers) là các thuộc tính màu và chế độ hiển thị mà bạn có thể
áp dụng cho các yếu tố bản đồ. Mã này xác định màu hiển thị thông qua một
tổ hợp các giá trị màu sắc, màu sắc và độ sáng/gamma.
Sử dụng Trình hướng dẫn tạo kiểu trên nền tảng Maps để nhanh chóng tạo kiểu
để tạo một đối tượng định kiểu JSON. SDK Bản đồ dành cho iOS hỗ trợ
khai báo kiểu giống như API JavaScript của Maps.