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 vào cho tất cả các phương pháp có liên quan đến bản đồ.

Bạn phải tạo thực thể cho bản đồ bằng 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 trên luồng chính, tương tự như tất 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 một ngoại lệ hoặc hành vi không xác định.

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

(instancetype)init
 Khởi động bằng CGctZero và các tuỳ chọn mặc định.
(instancetype)initWithOptions:
 Tạo chế độ xem bản đồ mới với các tuỳ chọn được cung cấp.
(instancetype)initWithFrame:
(loại thực thể rỗng)initWithCoder:
(instancetype)initWithFrame:camera:
 Tạo và trả về một chế độ xem bản đồ, có mục tiêu là khung và máy ảnh.
(instancetype)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
 Yêu cầu bản đồ này tăng cường sức mạnh cho trình kết xuất của nó.
(void) - stopRendering
 Yêu cầu bản đồ này tắt nguồn trình kết xuất của nó.
(void) xoá
 Xóa tất cả nội dung đánh dấu đã được thêm vào bản đồ, bao gồm điểm đánh dấu, hình nhiều đường và lớp mặt đất.
(void) setMinZoom:maxZoom:
 Đặt minZoommaxZoom.
(nullable GMSCameraPosition *) cameraForBounds:insets:
 Tạo GMSCameraPosition hiển thị bounds với padding.
(void) moveCamera:
 Thay đổi camera theo update.
(BOOL) areEqualForRenderingPosition:Position
 Kiểm tra xem các vị trí camera đã cho có thực sự khiến camera kết xuất như nhau hay không, có xét đế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.
(GMSDatasetFeatureLayer *)datasetFeatureLayerOfDatasetID:
 Trả về một lớp đối tượng tập dữ liệu của tập dữ liệ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:
 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).
(void) animateToZoom:
 Như animateToCameraPosition: nhưng chỉ thay đổi mức thu phóng của máy ảnh.
(void) animateToBearing:
 Như animateToCameraPosition:, nhưng chỉ thay đổi góc của máy ảnh (tính bằng độ).
(void) animateToViewModelAngle:
 Như animateToCameraPosition:, nhưng chỉ thay đổi góc nhìn của camera (tính bằng độ).
(void) animateWithCameraUpdate:
 Áp dụng cameraUpdate cho máy ảnh hiện tại, sau đó dùng kết quả theo animateToCameraPosition:.

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

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

Thuộc tính

IBOutlet id< GMSMapViewDelegate >uỷ quyền
 Ủy quyền GMSMapView.
GMSCameraPositionmáy ảnh
 Kiểm soát máy ảnh, giúp xác định cách 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 độ.
BOOLmyLocationEnabled
 Kiểm soát việc có bật vòng kết nối dấu chấm và độ chính xác Vị trí của tôi hay không.
CLLocation * myLocation
 Nếu Vị trí của tôi được bật, hiển thị nơi dấu chấm vị trí thiết bị đang được vẽ.
GMSMarkerselectedMarker
 Điểm đánh dấu đã chọn.
BOOLtrafficEnabled
 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ẽ được hiển thị.
GMSMapStylemapStyle
 Kiểm soát kiểu của bản đồ.
UIUserInterfaceStyleoverrideUserInterfaceStyle
 Thay đổi bản đồ thành UIUserInterfaceStyle mong muốn.
float minZoom
 Thu phóng tối thiểu (xa nhất mà camera có thể thu nhỏ).
float maxZoom
 Thu phóng tối đa (máy ảnh có thể gần Trái đất nhất).
BOOLbuildingsEnabled
 Nếu được đặt, toà nhà 3D sẽ hiển thị nếu có.
BOOLindoorEnabled
 Đặt liệu bản đồ trong nhà có hiển thị hay không (nếu có).
GMSIndoorDisplayindoorDisplay
 Tải thực thể GMSIndoorDisplay cho phép quan sát hoặc kiểm soát các khía cạnh của tính năng hiển thị dữ liệu trong nhà.
GMSUISettingschế độ cài đặt
 Lấy đối tượng GMSUISettings, đối tượng này kiểm soát các chế độ cài đặt giao diện người dùng cho bản đồ.
UIEdgeInsetskhoảng đệm
 Kiểm soát vùng "hiển thị" của chế độ xem.
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.
BOOLaccessibilityElementsHidden
 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.
GMSFrameRatepreferredFrameRate
 Kiểm soát tốc độ khung hình kết xuất.
GMSCoordinateBoundscameraTargetBounds
 Nếu không, hãy ràng buộc mục tiêu máy ảnh để các cử chỉ không thể khiến mục tiêu máy ảnh rời khỏi các giới hạn đã chỉ định.
GMSMapCapabilityFlagsmapCapabilities
 Tất cả các khả năng được cung cấp theo điều kiện (phụ thuộc vào mapID hoặc các chế độ cài đặt khác của bản đồ) hiện có tại thời điểm hiện tại.

(Lưu ý rằng đây không phải là các 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 "ngoài hạn mức".

Tài liệu về chức năng của thành viên

– (instancetype) init

Khởi động bằng CGctZero 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 được cung cấp.

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

– (instancetype) initWithFrame: (CGct) khung hình
– (instancetype có thể mang giá trị rỗng) initWithCoder: (NSCoder *) bộ lập trình
+ (instancetype) mapWithFrame: (CGct) khung hình
máy ảnh: (GMSCameraPosition *) máy ảnh

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

+ (instancetype) mapWithFrame: (CGct) khung hình
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 đồ với khung, ID bản đồ và mục tiêu máy ảnh.

– (instancetype) initWithFrame: (CGct) khung hình
máy ảnh: (GMSCameraPosition *) máy ảnh

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

Lưu ý:
Tính năng này không còn được dùng nữa. Thay vào đó, hãy sử dụng -init hoặc -initWithOptions:.
– (instancetype) initWithFrame: (CGct) khung hình
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 ý:
Tính năng này không còn được 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 tăng cường sức mạnh cho trình kết xuất của nó.

Trường này không bắt buộc và không thay đổi.

Lưu ý:
Tính năng này không còn được 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 của nó.

Trường này không bắt buộc và không thay đổi.

Lưu ý:
Tính năng này không còn được 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á

Xóa tất cả nội dung đánh dấu đã được thêm vào bản đồ, bao gồm điểm đánh dấu, hình nhiều đường và lớp 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 giá trị tối thiểu sẽ nhỏ hơn hoặc bằng giá trị tối đa và nếu không, sẽ gửi một ngoại lệ có tên NSPhạmException.

- (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 với padding.

Máy ảnh sẽ có góc xoay và độ nghiêng bằng 0 (tức là hướng về phía bắc và nhìn trực tiếp vào Trái đất). Thao tác này sẽ tính đến khung và khoảng đệm của GMSMapView này.

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

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

Thay đổi camera theo update.

Quá trình thay đổi camera sẽ 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í camera đã cho có thực sự khiến camera kết xuất như nhau hay không, có xét đế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.

Bạn phải định cấu hình các lớp tính năng 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 chưa bật định kiểu theo hướng dữ liệu hoặc nếu không sử dụng khung kết xuất Kim loại, thì thành phần Sẵn có của lớp thu được sẽ là NO và sẽ không phản hồi bất kỳ lệnh gọi nào.

Cần có trình 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

Trả về một lớp đối tượng tập dữ liệu của tập dữ liệu được chỉ định.

Bạn phải định cấu hình mã tập dữ liệu trong Cloud Console.

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

– (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: (CLLocationLocation2D) vị trí

As 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

Như 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ằng [kGMSMinZoom Level, kGMSMaxZoomLevel].

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

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

Số 0 nghĩa là hướng chính bắc.

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

Như animateToCameraPosition:, nhưng chỉ thay đổi góc nhìn của camera (tính bằng độ).

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

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

Áp dụng cameraUpdate cho máy ảnh hiện tại, sau đó 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 "ngoài hạn mức".


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

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

Ủy quyền GMSMapView.

– (GMSCameraPosition*) máy ảnh [read, write, copy]

Kiểm soát máy ảnh, giúp xác định cách 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ó thể hiện phép chiếu của khung GMSMapView được vẽ gần đây nhất hoặc khung sắp tới khi camera đã được đặt rõ ràng hoặc bản đồ vừa tạo. Nó sẽ không bao giờ là con số không.

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

Kiểm soát việc có bật vòng kết nối dấu chấm và độ chính xác Vị trí của tôi hay không.

Mặc định là KHÔNG.

– (CLLocation*) myLocation [read, assign]

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

Nếu tính năng này bị tắt hoặc được bật nhưng không có dữ liệu vị trí, thì giá trị này sẽ là con số 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 đã 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 là 0, việc đặt thuộc tính này là 0 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 sẵn có của dữ liệu lưu lượng truy cập. Mặc định là KHÔNG.

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

Kiểm soát loại ô bản đồ sẽ được 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 đồ.

MapStyle không phải là 0 sẽ chỉ áp dụng nếu mapType là Bình thường.

- (UIUserInterfaceStyle) overrideUserInterfaceStyle [read, write, assign]

Thay đổi bản đồ thành UIUserInterfaceStyle mong muốn.

Thao tác này sẽ ghi đè hành vi mặc định của UIKit và đặt giá trị mặc định là UIUserInterfaceStyleLight để đảm bảo khả năng tương thích ngược. Điều này ảnh hưởng đến bảng phối màu của các loại bản đồ Bình thường và Địa hình.

– (float) minZoom [read, assign]

Thu phóng tối thiểu (xa nhất mà camera có thể thu nhỏ).

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

– (float) maxZoom [read, assign]

Thu phóng tối đa (máy ảnh có thể gần Trái đất nhất).

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

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

Nếu được đặt, 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 lớp rõ hơn ở các 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 liệu 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ì bộ nhớ đệm cho dữ liệu trong nhà có thể bị xoá hoàn toàn và mọi giá sàn mà người dùng cuối hiện đã chọn có thể được đặt lại.

– (GMSIndoorDisplay*) indoorDisplay [read, assign]

Tải thực thể GMSIndoorDisplay cho phép quan sát hoặc kiểm soát các khía cạnh của tính năng hiển thị dữ liệu trong nhà.

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

Lấy đối tượng GMSUISettings, đối tượng này kiểm soát các 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 chế độ xem.

Bằng cách áp dụng khoảng đệm, một khu vực xung quanh cạnh của chế độ xem có thể được tạo ra. Khu vực này sẽ chứa dữ liệu bản đồ nhưng sẽ 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 thị giác của khung hiển thị sẽ di chuyển khi thích 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 được yêu cầu sẽ được tính đến.

Thuộc tính này có thể được tạo ả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 công cụ đ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à kGMSMapViewPadding AdjustBehaviorAlways.

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

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

Nếu bạn đặt thành KHÔNG, 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à kGMSFrameRateOptimize.

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

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

– (GMSMapCapabilityFlags) mapCapabilities [read, assign]

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

Không bao gồm các tính năng có thể sử dụng bất cứ lúc nào.