Điều khiển và cử chỉ

Chọn nền tảng: Android iOS JavaScript

Khi sử dụng SDK bản đồ dành cho iOS, bạn có thể tuỳ chỉnh cách người dùng tương tác với bản đồ bằng cách xác định thành phần giao diện người dùng tích hợp sẵn nào xuất hiện trên bản đồ và cử chỉ nào được cho phép.

Điều khiển bản đồ

SDK bản đồ dành cho iOS cung cấp một số thành phần điều khiển trên giao diện người dùng được tích hợp sẵn, tương tự như các thành phần điều khiển trong ứng dụng Google Maps dành cho iOS. Bạn có thể bật/tắt chế độ hiển thị của các chế độ điều khiển này bằng lớp GMSUISettings. Các thay đổi được thực hiện trên lớp này sẽ được phản ánh ngay lập tức trên bản đồ.

La bàn

SDK Bản đồ dành cho iOS cung cấp một hình ảnh la bàn xuất hiện ở góc trên cùng bên phải của bản đồ trong một số trường hợp nhất định. La bàn sẽ chỉ xuất hiện khi máy ảnh được định hướng sao cho có góc phương vị khác 0. Khi người dùng nhấp vào la bàn, máy ảnh sẽ tạo ảnh động trở lại vị trí có hướng bằng 0 (hướng mặc định) và la bàn sẽ mờ dần ngay sau đó.

La bàn bị tắt theo mặc định. Bạn có thể bật la bàn bằng cách đặt thuộc tính compassButton của GMSUISettings thành YES. Tuy nhiên, bạn không thể buộc la bàn luôn hiển thị.

Swift

let camera = GMSCameraPosition(latitude: 37.757815, longitude: -122.50764, zoom: 12)
let options = GMSMapViewOptions()
options.camera = camera
let mapView = GMSMapView(options: options)
mapView.settings.compassButton = true
      

Objective-C

GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:37.757815
                                                        longitude:-122.50764
                                                             zoom:12];
GMSMapViewOptions *options = [[GMSMapViewOptions alloc] init];
options.camera = camera;
GMSMapView *mapView = [[GMSMapView alloc] initWithOptions:options];
mapView.settings.compassButton = YES;
      

Nút Vị trí của tôi

Nút Vị trí của tôi xuất hiện ở góc dưới cùng bên phải màn hình chỉ khi nút Vị trí của tôi được bật. Khi người dùng nhấp vào nút này, camera sẽ tạo ảnh động để lấy nét vào vị trí hiện tại của người dùng nếu biết vị trí của người dùng. Bạn có thể bật nút này bằng cách đặt thuộc tính myLocationButton của GMSUISettings thành YES.

Swift

mapView.settings.myLocationButton = true
      

Objective-C

mapView.settings.myLocationButton = YES;
      

Bộ chọn tầng

Chế độ điều khiển bộ chọn tầng xuất hiện gần phía dưới cùng bên phải màn hình bất cứ khi nào bản đồ trong nhà được làm nổi bật. Khi có từ hai bản đồ trong nhà trở lên, bộ chọn tầng sẽ liên quan đến toà nhà gần tâm màn hình nhất. Mỗi toà nhà có một tầng mặc định được chọn khi bộ chọn xuất hiện lần đầu. Bạn có thể chọn một tầng khác bằng cách chọn tầng đó trong bộ chọn.

Bạn có thể tắt chế độ điều khiển bộ chọn tầng bằng cách đặt thuộc tính indoorPicker của GMSUISettings thành NO.

Swift

mapView.settings.indoorPicker = false
      

Objective-C

mapView.settings.indoorPicker = NO;
      

Cử chỉ trên bản đồ

Bạn có thể tắt các cử chỉ mặc định trên bản đồ bằng cách đặt các thuộc tính của lớp GMSUISettings, có sẵn dưới dạng thuộc tính của GMSMapView. Bạn có thể bật và tắt các cử chỉ sau đây theo phương thức lập trình. Xin lưu ý rằng việc tắt cử chỉ sẽ không giới hạn quyền truy cập có lập trình vào chế độ cài đặt camera.

  • scrollGestures — kiểm soát việc bật hay tắt cử chỉ cuộn. Nếu bạn bật chế độ này, người dùng có thể vuốt để xoay camera.
  • zoomGestures — kiểm soát việc bật hoặc tắt cử chỉ thu phóng. Nếu bạn bật tính năng này, người dùng có thể nhấn đúp, nhấn bằng hai ngón tay hoặc chụm để thu phóng camera. Xin lưu ý rằng thao tác nhấn đúp hoặc chụm khi scrollGestures được bật có thể xoay camera đến điểm đã chỉ định.
  • tiltGestures — kiểm soát việc bật hay tắt cử chỉ nghiêng. Nếu bạn bật chế độ này, người dùng có thể dùng hai ngón tay vuốt dọc xuống hoặc lên để nghiêng camera.
  • rotateGestures — kiểm soát việc bật hay tắt cử chỉ xoay. Nếu bạn bật chế độ này, người dùng có thể sử dụng cử chỉ xoay bằng hai ngón tay để xoay camera.

Trong ví dụ bên dưới, cả cử chỉ kéo và thu phóng đều bị tắt.

Swift

override func loadView() {
  let camera = GMSCameraPosition.camera(
    withLatitude: 1.285,
    longitude: 103.848,
    zoom: 12
  )

  let options = GMSMapViewOptions()
  options.camera = camera
  let mapView = GMSMapView(options: options)
  mapView.settings.scrollGestures = false
  mapView.settings.zoomGestures = false
  self.view = mapView
}
      

Objective-C

- (void)loadView {
  GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:1.285
                                                          longitude:103.848
                                                               zoom:12];
  GMSMapViewOptions *options = [[GMSMapViewOptions alloc] init];
  options.camera = camera;
  GMSMapView *mapView = [[GMSMapView alloc] initWithOptions:options];
  mapView.settings.scrollGestures = NO;
  mapView.settings.zoomGestures = NO;
  self.view = mapView;
}