Thêm bản đồ

Sử dụng bộ sưu tập để sắp xếp ngăn nắp các trang Lưu và phân loại nội dung dựa trên lựa chọn ưu tiên của bạn.

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

Maps được biểu thị trong API bằng lớp GMSMapView, một lớp con của UIView. Bản đồ là đối tượng quan trọng nhất trong SDK Maps dành cho iOS và cung cấp các phương thức cần thiết để thêm, xoá và quản lý các đối tượng khác như điểm đánh dấu và nhiều đường.

Giới thiệu

SDK bản đồ dành cho iOS cho phép bạn hiển thị bản đồ của Google trong ứng dụng iOS của mình. Các bản đồ này có giao diện giống như bản đồ mà bạn thấy trong ứng dụng iOS Google Maps và SDK hiển thị nhiều tính năng giống nhau.

Ngoài chức năng liên kết, API còn hỗ trợ một loạt các lượt tương tác nhất quán với mô hình giao diện người dùng iOS. Ví dụ: bạn có thể thiết lập hoạt động tương tác với bản đồ bằng cách xác định các phản hồi để phản ứng với cử chỉ của người dùng, chẳng hạn như nhấn và nhấn đúp.

Lớp khóa khi làm việc với đối tượng Bản đồ là lớp GMSMapView. GMSMapView tự động xử lý các thao tác sau:

  • Đang kết nối với dịch vụ Google Maps.
  • Đang tải các ô bản đồ xuống.
  • Hiện ô trên màn hình thiết bị.
  • Hiển thị các điều khiển khác nhau như xoay và thu phóng.
  • Phản hồi cử chỉ xoay và thu phóng bằng cách di chuyển bản đồ và phóng to hoặc thu nhỏ.
  • Phản hồi cử chỉ hai ngón tay bằng cách nghiêng góc xem của bản đồ.

Ngoài các thao tác tự động này, bạn có thể kiểm soát hành vi và giao diện của bản đồ thông qua các thuộc tính và phương thức mà lớp GMSMapView hiển thị. GMSMapView cho phép bạn thêm và xoá các điểm đánh dấu, lớp phủ mặt đất và nhiều đường, thay đổi loại bản đồ hiển thị và kiểm soát những gì hiển thị trên bản đồ thông qua lớp GMSCameraPosition.

Xây dựng bản đồ bằng SwiftUI

SwiftUI cung cấp thêm một cách để tạo giao diện người dùng bằng cách sử dụng phương pháp khai báo. Bạn cho SwiftUI biết cách bạn muốn chế độ xem của mình xem cùng với tất cả các trạng thái khác nhau cho chế độ xem đó và hệ thống sẽ thực hiện phần còn lại. SwiftUI xử lý việc cập nhật chế độ xem bất cứ khi nào trạng thái cơ bản thay đổi do một sự kiện hoặc hành động của người dùng.

SDK Maps dành cho iOS được xây dựng dựa trên UIKit và chưa cung cấp chế độ xem tương thích với SwiftUI. Để thêm bản đồ trong SwiftUI, bạn phải tuân thủ UIViewRepresentable hoặc UIViewControllerRepresentable. Để tìm hiểu thêm, hãy xem lớp học lập trình thêm bản đồ vào ứng dụng iOS bằng SwiftUI.

Thêm bản đồ

Các bước cơ bản để thêm bản đồ là:

  1. Để tải SDK, lấy khoá API và thêm các khung bắt buộc, hãy làm theo các bước trong:

    1. Thiết lập trong Google Cloud Console

    2. Sử dụng khoá API

    3. Thiết lập dự án Xcode

  2. Trong AppDelegate, hãy cung cấp khoá API cho phương thức lớp provideAPIKey: trên GMSServices.

  3. Tạo hoặc cập nhật ViewController. Nếu bản đồ sẽ xuất hiện khi bộ điều khiển chế độ xem này xuất hiện, hãy nhớ tạo bản đồ đó trong phương thức loadView.

    1. Tạo một đối tượng GMSCameraPosition chỉ định tâm và mức thu phóng của bản đồ. Khi tạo thực thể cho đối tượng GMSMapView, bạn phải chuyển đối tượng GMSCameraPosition dưới dạng một tham số bắt buộc.

    2. Tạo và tạo bản sao của lớp GMSMapView bằng phương thức GMSMapView mapWithFrame:. Nếu bản đồ này được dùng làm chế độ xem duy nhất của trình điều khiển chế độ xem, thì CGRectZero có thể được sử dụng làm khung của bản đồ — bản đồ sẽ được tự động đổi kích thước.

    3. Đặt đối tượng GMSMapView làm thành phần hiển thị của bộ điều khiển chế độ xem, ví dụ: self.view = mapView;.

Ví dụ dưới đây sẽ thêm một bản đồ (ở giữa trung tâm Singapore) vào một ứng dụng.

Swift

import GoogleMaps

class MapObjects : UIViewController {
  override func viewDidLoad() {
    super.viewDidLoad()
    let camera = GMSCameraPosition(latitude: 1.285, longitude: 103.848, zoom: 12)
    let mapView = GMSMapView(frame: .zero, camera: camera)
    self.view = mapView
  }
}
      

Objective-C

#import "MapObjects.h"
@import GoogleMaps;

@implementation MapObjects

- (void)viewDidLoad {
  [super viewDidLoad];
  GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:1.285
                                                          longitude:103.848
                                                               zoom:12];
  GMSMapView *mapView = [GMSMapView mapWithFrame:CGRectZero camera:camera];
  self.view = mapView;
}

@end
      

Sau khi làm theo các bước này, bạn có thể định cấu hình thêm đối tượng GMSMapView.

Các bước tiếp theo

Sau khi hoàn thành các bước này, bạn có thể định cấu hình chế độ cài đặt bản đồ.