Tài liệu tham khảo về lớp GMSMapView

Tài liệu tham khảo về lớp GMSMapView

Tổng quan

Đây là lớp chính của SDK Google Maps dành cho iOS và là điểm truy cập cho tất cả các phương thức liên quan đến bản đồ.

Bản đồ phải được tạo thực thể thông qua một trong các hàm khởi tạo -init hoặc -initWithOptions:.

Bạn chỉ có thể đọc và sửa đổi GMSMapView từ luồng chính, tương tự như tất cả các đối tượng UIKit. Việc gọi các phương thức này từ một luồng khác sẽ dẫn đến ngoại lệ hoặc hành vi không xác định.

Hàm thành viên công khai

(loại thực thể)init
 Khởi động bằng CGRectZero và các tuỳ chọn mặc định.
(loại thực thể)initWithOptions:
 Tạo chế độ xem bản đồ mới với các tuỳ chọn cho sẵn.
(loại thực thể)initWithFrame:
(loại thực thể)initWithCoder:
(loại thực thể)initWithFrame:camera:
 Tạo và trả về chế độ xem bản đồ, với khung và mục tiêu máy ảnh.
(loại thực thể)initWithFrame:mapID:camera:
 Tạo và trả về chế độ xem bản đồ có khung, mã bản đồ và mục tiêu máy ảnh.
(void) startRendering (Bắt đầu kết xuất)
 Yêu cầu bản đồ này bật trình kết xuất.
(void) stopRendering
 Yêu cầu bản đồ này tắt nguồn trình kết xuất.
(void) xoá
 Xoá tất cả nội dung đánh dấu đã được thêm vào bản đồ, bao gồm cả các điểm đánh dấu, hình nhiều đường và lớp phủ trên mặt đất.
(void) setMinZoom:maxZoom:
 Đặt minZoommaxZoom.
(nullable GMSCameraPosition *) cameraForBounds:insets:
 Tạo GMSCameraPosition để hiển thị bounds bằng padding.
(void) moveCamera:
 Thay đổi camera theo update.
(BOOL) areEqualForRenderingPosition:position:
 Kiểm tra xem các vị trí máy ảnh nhất định có thực tế khiến máy ảnh được kết xuất giống nhau hay không, có tính đến mức độ chính xác và các phép biến đổi được sử dụng nội bộ.
(GMSFeatureLayer
< GMSPlaceFeature * > *)
featureLayerOfFeatureType:
 Trả về lớp đối tượng thuộc kiểu được chỉ định.
(void) animateToCameraPosition:
 Tạo ảnh động cho máy ảnh của bản đồ này thành cameraPosition.
(void) animateToLocation:
 Dưới dạng animateToCameraPosition:, nhưng chỉ thay đổi vị trí của máy ảnh (tức là từ vị trí hiện tại thành location).
(void) animateToZoom:
 Dưới dạng animateToCameraPosition:, nhưng chỉ thay đổi mức thu phóng của máy ảnh.
(void) animateToBearing:
 Là animateToCameraPosition:, nhưng chỉ thay đổi góc phương vị của máy ảnh (tính bằng độ).
(void) animateToXemAngle:
 Dưới dạng animateToCameraPosition:, nhưng chỉ thay đổi góc xem của máy ảnh (tính bằng độ).
(void) animateWithCameraUpdate:
 Áp dụng cameraUpdate cho máy ảnh hiện tại, sau đó sử dụng kết quả theo animateToCameraPosition:.

Hàm thành viên công khai tĩnh

(loại thực thể)+ mapWithFrame:camera:
 Tạo và trả về chế độ xem bản đồ có mục tiêu khung và máy ảnh.
(loại thực thể)+ mapWithFrame:mapID:camera:
 Trình khởi tạo tiện lợi để tạo và trả về chế độ xem bản đồ có khung, mã bản đồ và mục tiêu máy ảnh.

Thuộc tính

Mã IBOutlet< GMSMapViewDelegate >uỷ quyền
 Ủy quyền GMSMapView.
GMSCameraPositionmáy ảnh
 Điều khiển máy ảnh giúp xác định cách định hướng bản đồ.
GMSProjectionphép chiếu
 Trả về đối tượng GMSProjection mà bạn có thể sử dụng để chuyển đổi giữa toạ độ màn hình và toạ độ vĩ độ/kinh độ.
CẢM ƠNmyLocationEnabled
 Kiểm soát xem có bật vòng tròn Vị trí của tôi và độ chính xác không.
CLLocation * myLocation
 Nếu Vị trí của tôi được bật, cho thấy nơi chấm vị trí thiết bị đang được vẽ.
GMSMarkerselectedMarker
 Điểm đánh dấu được chọn.
CẢM ƠNtrafficEnabled
 Kiểm soát việc bản đồ có đang vẽ dữ liệu giao thông hay không, nếu có.
GMSMapViewTypemapType
 Kiểm soát loại ô bản đồ sẽ hiển thị.
GMSMapStylemapStyle
 Kiểm soát kiểu của bản đồ.
float minZoom
 Mức thu phóng tối thiểu (có thể thu nhỏ máy ảnh xa nhất).
float maxZoom
 Thu phóng tối đa (máy ảnh gần với Trái Đất nhất).
CẢM ƠNbuildingsEnabled
 Nếu bạn đặt chính sách này, các toà nhà 3D sẽ hiển thị nếu có.
CẢM ƠNindoorEnabled
 Đặt bản đồ trong nhà có hiển thị hay không, nếu có.
GMSIndoorDisplayindoorDisplay
 Lấy thực thể GMSIndoorDisplay cho phép quan sát hoặc kiểm soát các khía cạnh của màn hình dữ liệu trong nhà.
GMSUISettings (Cài đặt GMSUI) *cài đặt
 Lấy đối tượng GMSUISettings (Kiểm soát chế độ cài đặt giao diện người dùng cho bản đồ).
UIEdgeInsetspadding
 Kiểm soát vùng "hiển thị" của khung hiển thị.
GMSMapViewPaddingAdjustmentBehaviorpaddingAdjustmentBehavior
 Kiểm soát cách thêm các phần lồng ghép vùng an toàn vào giá trị khoảng đệm.
CẢM ƠNaccessibilityElementsHidden
 Giá trị mặc định là YES.
GMSMapLayerlớp
 Trình truy cập cho loại CALayer tuỳ chỉnh dùng cho lớp.
GMSFrameRate (Tỷ lệ khung hình)preferredFrameRate
 Kiểm soát tốc độ khung hình kết xuất.
GMSCoordinateBoundscameraTargetBounds
 Nếu giá trị không là nil, hãy ràng buộc mục tiêu máy ảnh để các cử chỉ không thể làm cho mục tiêu đó rời khỏi giới hạn đã chỉ định.
GMSMapCapabilityFlagsmapCapabilities
 Tất cả các khả năng hoạt động theo điều kiện (tuỳ thuộc vào mapID hoặc các chế độ cài đặt khác của bản đồ) có sẵn tại thời điểm hiện tại.

(Lưu ý rằng đây không phải là hàm thành phần.)

NSString *constkGMSAccessibilityCompass
 Giá trị nhận dạng hỗ trợ tiếp cận cho nút la bàn.
NSString *constkGMSAccessibilityMyLocation
 Giá trị nhận dạng hỗ trợ tiếp cận cho nút "vị trí của tôi".
NSString *constkGMSAccessibilityOutOfQuota
 Giá trị nhận dạng hỗ trợ tiếp cận cho nhãn lỗi "hết hạn mức".

Tài liệu về hàm thành phần

– (instancetype) init

Khởi động bằng CGRectZero và các tuỳ chọn mặc định.

– (instancetype) initWithOptions: (GMSMapViewOptions không rỗng *) tuỳ chọn

Tạo chế độ xem bản đồ mới với các tuỳ chọn cho sẵn.

Phương thức này sao chép giá trị của đối tượng tuỳ chọn.

– (instancetype) initWithFrame: (CGRect) khung
– (instancetype) initWithCoder: (NSCoder *) bộ mã hoá
+ (instancetype) mapWithFrame: (CGRect) khung
máy ảnh: (GMSCameraPosition *) máy ảnh

Tạo và trả về chế độ xem bản đồ có mục tiêu khung và máy ảnh.

+ (instancetype) mapWithFrame: (CGRect) khung
mapID: (GMSMapID *) mapID
máy ảnh: (GMSCameraPosition *) máy ảnh

Trình khởi tạo tiện lợi để tạo và trả về chế độ xem bản đồ có khung, mã bản đồ và mục tiêu máy ảnh.

– (instancetype) initWithFrame: (CGRect) khung
máy ảnh: (GMSCameraPosition *) máy ảnh

Tạo và trả về chế độ xem bản đồ, với khung và mục tiêu máy ảnh.

Lưu ý:
Phiên bản này không còn dùng nữa. Thay vào đó, hãy sử dụng -init hoặc -initWithOptions:.
– (instancetype) initWithFrame: (CGRect) khung
mapID: (GMSMapID *) mapID
máy ảnh: (GMSCameraPosition *) máy ảnh

Tạo và trả về chế độ xem bản đồ có khung, mã bản đồ và mục tiêu máy ảnh.

Lưu ý:
Phiên bản này không còn dùng nữa. Thay vào đó, hãy sử dụng -init hoặc -initWithOptions:.
– (vô hiệu) startRendering

Yêu cầu bản đồ này bật trình kết xuất.

Điều này là không bắt buộc và không thay đổi giá trị.

Lưu ý:
Phiên bản này không còn dùng nữa. Phương thức này đã lỗi thời và sẽ bị xoá trong bản phát hành sau này.
– (vô hiệu) stopRendering

Yêu cầu bản đồ này tắt nguồn trình kết xuất.

Điều này là không bắt buộc và không thay đổi giá trị.

Lưu ý:
Phiên bản này không còn dùng nữa. Phương thức này đã lỗi thời và sẽ bị xoá trong bản phát hành sau này.
– (vô hiệu) xoá

Xoá tất cả nội dung đánh dấu đã được thêm vào bản đồ, bao gồm cả các điểm đánh dấu, hình nhiều đường và lớp phủ trên mặt đất.

Thao tác này sẽ không xoá dấu chấm vị trí hiển thị hoặc đặt lại mapType hiện tại.

– (vô hiệu) setMinZoom: (float)  minZoom
maxZoom: (float)  maxZoom

Đặt minZoommaxZoom.

Phương thức này dự kiến mức tối thiểu phải nhỏ hơn hoặc bằng giá trị tối đa, nếu không sẽ gửi một ngoại lệ có tên là NSRangeException.

- (nullable GMSCameraPosition *) cameraForBounds: (GMSCoordinateBounds *) giới hạn
phần lồng ghép: (UIEdgeInsets) phần lồng ghép

Tạo GMSCameraPosition để hiển thị bounds bằng padding.

Máy ảnh sẽ không có góc phương vị và độ nghiêng bằng 0 (tức là hướng về phía bắc và nhìn thẳng vào Trái đất). Điều này có tính đến khung và khoảng đệm của GMSMapView này.

Nếu giới hạn không hợp lệ, phương thức này sẽ trả về máy ảnh nil.

– (vô hiệu) moveCamera: (GMSCameraUpdate *) cập nhật

Thay đổi camera theo update.

Quá trình thay đổi máy ảnh diễn ra ngay lập tức (không có ảnh động).

– (BOOL) areEqualForRenderingPosition: (GMSCameraPosition *) vị trí
vị trí: (GMSCameraPosition *) otherPosition

Kiểm tra xem các vị trí máy ảnh nhất định có thực tế khiến máy ảnh được kết xuất giống nhau hay không, có tính đến mức độ chính xác và các phép biến đổi được sử dụng nội bộ.

Trả về lớp đối tượng thuộc kiểu được chỉ định.

Các lớp tính năng phải được định cấu hình trong Cloud Console.

Nếu một lớp thuộc loại được chỉ định không tồn tại trên bản đồ này hoặc nếu kiểu dựa trên dữ liệu không được bật hoặc nếu Khung kết xuất kim loại không được sử dụng, thì lớp thu được sẽ là NO và sẽ không phản hồi bất kỳ lệnh gọi nào.

Yêu cầu kết xuất đồ hoạ Metal. Tìm hiểu cách bật Metal tại https://developers.google.com/maps/documentation/ios-sdk/config#use-metal

– (vô hiệu) animateToCameraPosition: (GMSCameraPosition *) cameraPosition

Tạo ảnh động cho máy ảnh của bản đồ này thành cameraPosition.

– (vô hiệu) animateToLocation: (CLLocationCoordinate2D)  vị trí

Như animateToCameraPosition:, nhưng chỉ thay đổi vị trí của máy ảnh (tức là từ vị trí hiện tại thành location).

– (vô hiệu) animateToZoom: (float)  thu phóng

Dưới dạng animateToCameraPosition:, nhưng chỉ thay đổi mức thu phóng của máy ảnh.

Giá trị này được giới hạn bởi [kGMSMinZoomLevel, kGMSMaxZoomLevel].

– (vô hiệu) animateToBearing: (CLLocationDirection) mang

Là animateToCameraPosition:, nhưng chỉ thay đổi góc phương vị của máy ảnh (tính bằng độ).

0 có nghĩa là hướng bắc thực.

– (vô hiệu) animateToXemAngle: (gấp đôi) viewingAngle

Dưới dạng animateToCameraPosition:, nhưng chỉ thay đổi góc xem của máy ảnh (tính bằng độ).

Giá trị này sẽ được giới hạn ở mức nhỏ nhất là 0 (tức là hướng thẳng xuống) và từ 30 đến 45 độ về phía đường chân trời, tuỳ thuộc vào độ gần với trái đất.

– (vô hiệu) animateWithCameraUpdate: (GMSCameraUpdate *) cameraUpdate

Áp dụng cameraUpdate cho máy ảnh hiện tại, sau đó sử dụng kết quả theo animateToCameraPosition:.


– (NSString* const) kGMSAccessibilityCompass [related]

Giá trị nhận dạng hỗ trợ tiếp cận cho nút la bàn.

– (NSString* const) kGMSAccessibilityMyLocation [related]

Giá trị nhận dạng hỗ trợ tiếp cận cho nút "vị trí của tôi".

– (NSString* const) kGMSAccessibilityOutOfQuota [related]

Giá trị nhận dạng hỗ trợ tiếp cận cho nhãn lỗi "hết hạn mức".


Tài liệu về thuộc tính

- (id IBOutlet<GMSMapViewDelegate>) uỷ quyền [read, write, assign]

Ủy quyền GMSMapView.

– (GMSCameraPosition*) camera [read, write, copy]

Điều khiển máy ảnh giúp xác định cách định hướng bản đồ.

Quá trình sửa đổi thuộc tính này sẽ diễn ra ngay lập tức.

– (GMSProjection*) phép chiếu [read, assign]

Trả về đối tượng GMSProjection mà bạn có thể sử dụng để chuyển đổi giữa toạ độ màn hình và toạ độ vĩ độ/kinh độ.

Đây là ảnh chụp nhanh của phép chiếu hiện tại và sẽ không tự động cập nhật khi máy ảnh di chuyển. Nó đại diện cho phép chiếu của khung GMSMapView được vẽ gần đây nhất hoặc; trong đó máy ảnh đã được đặt rõ ràng hoặc bản đồ vừa được tạo, khung sắp tới. Giá trị này sẽ không bao giờ bằng không.

– (BOOL) myLocationEnabled [read, write, assign]

Kiểm soát xem có bật vòng tròn Vị trí của tôi và độ chính xác không.

Giá trị mặc định là NO.

– (CLLocation*) myLocation [read, assign]

Nếu Vị trí của tôi được bật, cho thấy nơi chấm vị trí thiết bị đang được vẽ.

Nếu Google Analytics 4 bị vô hiệu hoá hoặc được bật nhưng không có dữ liệu vị trí, thì giá trị này sẽ bằng không. Bạn có thể quan sát thuộc tính này bằng KVO.

– (GMSMarker*) selectedMarker [read, write, assign]

Điểm đánh dấu được chọn.

Việc đặt thuộc tính này sẽ chọn một điểm đánh dấu cụ thể, hiển thị cửa sổ thông tin trên đó. Nếu thuộc tính này không phải là không, việc đặt nó là nil sẽ bỏ chọn điểm đánh dấu, ẩn cửa sổ thông tin. Bạn có thể quan sát thuộc tính này bằng KVO.

– (BOOL) trafficEnabled [read, write, assign]

Kiểm soát việc bản đồ có đang vẽ dữ liệu giao thông hay không, nếu có.

Điều này phụ thuộc vào tình trạng sẵn có của dữ liệu giao thông. Giá trị mặc định là NO.

– (GMSMapViewType) mapType [read, write, assign]

Kiểm soát loại ô bản đồ sẽ hiển thị.

Giá trị mặc định là kGMSTypeNormal.

– (GMSMapStyle*) mapStyle [read, write, assign]

Kiểm soát kiểu của bản đồ.

Giá trị mapStyle không có giá trị sẽ chỉ áp dụng nếu mapType là Bình thường.

– (số thực) minZoom [read, assign]

Mức thu phóng tối thiểu (có thể thu nhỏ máy ảnh xa nhất).

Giá trị mặc định là kGMSMinZoomLevel. Được sửa đổi bằng -setMinZoom:maxZoom:.

– (số thực) maxZoom [read, assign]

Thu phóng tối đa (máy ảnh gần với Trái Đất nhất).

Giá trị mặc định là kGMSMaxZoomLevel. Được sửa đổi bằng -setMinZoom:maxZoom:.

– (BOOL) buildingsEnabled [read, write, assign]

Nếu bạn đặt chính sách này, các toà nhà 3D sẽ hiển thị nếu có.

Giá trị mặc định là YES.

Điều này có thể hữu ích khi thêm một lớp ô tuỳ chỉnh vào bản đồ, để làm cho nó rõ ràng hơn ở mức thu phóng cao. Việc thay đổi giá trị này sẽ khiến tất cả các thẻ thông tin bị mất hiệu lực trong một thời gian ngắn.

– (BOOL) indoorEnabled [read, write, assign]

Đặt bản đồ trong nhà có hiển thị hay không, nếu có.

Giá trị mặc định là YES.

Nếu bạn đặt chính sách này thành KHÔNG, thì các bộ nhớ đệm dành cho dữ liệu trong nhà có thể bị xoá hoàn toàn và mọi tầng mà người dùng cuối hiện đang chọn có thể được đặt lại.

– (GMSIndoorDisplay*) indoorDisplay [read, assign]

Lấy thực thể GMSIndoorDisplay cho phép quan sát hoặc kiểm soát các khía cạnh của màn hình dữ liệu trong nhà.

- (GMSUISettings*) cài đặt [read, assign]

Lấy đối tượng GMSUISettings (Kiểm soát chế độ cài đặt giao diện người dùng cho bản đồ).

– (UIEdgeInsets) khoảng đệm [read, write, assign]

Kiểm soát vùng "hiển thị" của khung hiển thị.

Bằng cách áp dụng khoảng đệm, một khu vực xung quanh cạnh của thành phần hiển thị có thể được tạo ra. Vùng này sẽ chứa dữ liệu bản đồ nhưng không chứa các thành phần điều khiển trên giao diện người dùng.

Nếu khoảng đệm không cân bằng, tâm hình ảnh của chế độ xem sẽ di chuyển cho phù hợp. Khoảng đệm cũng sẽ ảnh hưởng đến thuộc tính projection, vì vậy, vùng hiển thị sẽ không bao gồm vùng đệm. GMSCameraUpdate fitToBounds sẽ đảm bảo rằng cả khoảng đệm này và mọi khoảng đệm yêu cầu đều sẽ được xem xét.

Thuộc tính này có thể là ảnh động trong một khối ảnh động dựa trên UIView.

Kiểm soát cách thêm các phần lồng ghép vùng an toàn vào giá trị khoảng đệm.

Giống như khoảng đệm, vùng an toàn sẽ lồng ghép các nút điều khiển vị trí trên bản đồ, chẳng hạn như la bàn, nút vị trí của tôi và bộ chọn tầng trong vùng an toàn của thiết bị.

Giá trị mặc định là kGMSMapViewPaddingPaddingBehaviorAlways.

– (BOOL) accessibilityElementsHidden [read, write, assign]

Giá trị mặc định là YES.

Nếu bạn đặt thành NO, thì GMSMapView sẽ tạo phần tử hỗ trợ tiếp cận cho các đối tượng lớp phủ, chẳng hạn như GMSMarkerGMSPolyline.

Thuộc tính này tuân theo giao thức UIAccessibility không chính thức, ngoại trừ giá trị mặc định là YES.

– (GMSMapLayer*) lớp [read, retain]

Trình truy cập cho loại CALayer tuỳ chỉnh dùng cho lớp.

– (GMSFrameRate) preferredFrameRate [read, write, assign]

Kiểm soát tốc độ khung hình kết xuất.

Giá trị mặc định là kGMSFrameRateMedium.

– (GMSCoordinateBounds*) cameraTargetBounds [read, write, assign]

Nếu giá trị không là nil, hãy ràng buộc mục tiêu máy ảnh để các cử chỉ không thể làm cho mục tiêu đó rời khỏi giới hạn đã chỉ định.

– (GMSMapCapabilityFlags) mapCapabilities [read, assign]

Tất cả các khả năng hoạt động theo điều kiện (tuỳ thuộc vào mapID hoặc các chế độ cài đặt khác của bản đồ) có sẵn tại thời điểm hiện tại.

Không bao gồm các tính năng luôn hoạt động.