Thiết lập bản đồ

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

Để thiết lập bản đồ theo dõi một chuyến đi trong iOS, hãy hoàn tất các bước sau:

  1. Khởi chạy chế độ xem bản đồ
  2. Xử lý sự kiện bản đồ

Bước 1: Khởi tạo chế độ xem bản đồ

Để theo dõi một chuyến đi, bạn phải khởi chạy chế độ xem bản đồ.

Ví dụ sau đây cho thấy cách khởi chạy GMTCMapView.

Swift

/*
 * MapViewController.swift
 */
class ViewController: UIViewController, GMTCMapViewDelegate {
  private var rideSharingMap: GMTCMapView?

  override func viewDidLoad() {
    super.viewDidLoad()

    self.rideSharingMap = GMTCMapView(frame: UIScreen.main.bounds)
    self.rideSharingMap.delegate = self
    self.rideSharingMap?.settings.myLocationButton = true
    self.view.addSubview(self.rideSharingMap!)
    ...
    }
  }

Objective-C

/*
 * MapViewController.h
 */
@interface MapViewController : UIViewController<GMTCMapViewDelegate>
...
@end

/*
 * MapViewController.m
 */
@implementation MapViewController

- (void)viewDidLoad {
  [super viewDidLoad];
  ...
  self.mapView = [[GMTCMapView alloc] initWithFrame:CGRectZero];
  self.mapView.settings.myLocationButton = YES;
  self.mapView.delegate = self;
  ...
}

...

@end

Bước 2: Xử lý sự kiện chế độ xem bản đồ

Giờ đây, khi bạn đã khởi chạy thành công thành phần hiển thị bản đồ, sau đây là cách triển khai một đối tượng uỷ quyền để xử lý các thay đổi về sự kiện trong thành phần hiển thị bản đồ khi xe di chuyển trên hành trình.

Swift

func mapViewDidInitialize(_ mapview: GMTCMapView) {
  // Handle the update to the state of the map view to browsing.
}

func mapView(_ mapView: GMSMapView, didTapConsumerMarker mapMarker: GMSMarker, markerType: GMTCMapViewMarkerType) -> Bool {
  // Handle the mapView marker was tapped.
}

Objective-C

/*
 * MapViewController.m
 */
#pragma mark - GMTCMapViewDelegate implementation

// Handle state update of map view.
- (void)mapViewDidInitializeCustomerState:(GMTCMapView *)mapview {
  // Handle the update to the state of the map view to browsing.
}

- (void)mapView:(GMSMapView *)mapView
    didTapConsumerMarker:(nonnull GMSMarker *)mapMarker
              markerType:(GMTCMapViewMarkerType)markerType {
  // Handle the mapView marker was tapped.
}

Bước tiếp theo