Thêm bản đồ bằng điểm đánh dấu
Hướng dẫn này cho bạn biết cách thêm bản đồ Google vào ứng dụng iOS. Bản đồ bao gồm một điểm đánh dấu (còn gọi là ghim) để cho biết một vị trí cụ thể.
Lấy mã
Sao chép hoặc tải kho lưu trữ mẫu iOS của Google Maps từ GitHub.
Thiết lập dự án phát triển
Hãy làm theo các bước sau để cài đặt SDK Bản đồ dành cho iOS:
- Tải xuống và cài đặt Xcode phiên bản 14.0 trở lên.
- Nếu bạn chưa có CocoaPods,
hãy cài đặt ứng dụng này trên macOS bằng cách chạy lệnh sau đây trên thiết bị đầu cuối:
sudo gem install cocoapods
- Sao chép hoặc tải kho lưu trữ mẫu dành cho iOS của Google Maps xuống.
- Chuyển đến thư mục
tutorials/map-with-marker
. - Chạy lệnh
pod install
. Thao tác này sẽ cài đặt các API được chỉ định trongPodfile
, cùng với mọi phần phụ thuộc có thể có. - Chạy
pod outdated
để so sánh phiên bản nhóm đã cài đặt với mọi bản cập nhật mới. Nếu phát hiện thấy phiên bản mới, hãy chạypod update
để cập nhậtPodfile
và cài đặt SDK mới nhất. Để biết thêm thông tin chi tiết, hãy xem Hướng dẫn cho CocoaPods. - Mở (nhấp đúp) vào tệp map-with-benchmark.xcworkspace của dự án
để mở tệp đó trong Xcode. Bạn phải dùng tệp
.xcworkspace
để mở dự án.
Lấy khoá API và bật các API cần thiết
Để hoàn tất hướng dẫn này, bạn cần có khoá API của Google được phép sử dụng SDK Maps dành cho iOS. Nhấp vào nút bên dưới để lấy khoá và kích hoạt API.
Bắt đầuĐể biết thêm thông tin chi tiết, hãy xem bài viết Lấy khoá API.
Thêm khoá API vào ứng dụng
Thêm khoá API vào AppDelegate.swift
như sau:
- Lưu ý rằng câu lệnh nhập sau đã được thêm vào tệp:
import GoogleMaps
- Chỉnh sửa dòng sau trong phương thức
application(_:didFinishLaunchingWithOptions:)
, thay thế YOUR_API_KEY bằng khoá API:GMSServices.provideAPIKey("YOUR_API_KEY")
Xây dựng và chạy ứng dụng
- Kết nối thiết bị iOS với máy tính hoặc chọn một trình mô phỏng trong trình đơn bật lên lược đồ Xcode.
- Nếu bạn đang sử dụng một thiết bị, hãy đảm bảo dịch vụ vị trí đã được bật. Nếu bạn đang sử dụng trình mô phỏng, hãy chọn một vị trí trong trình đơn Tính năng.
- Trong Xcode, hãy nhấp vào tuỳ chọn trình đơn Sản phẩm/Chạy (hoặc biểu tượng nút phát).
- Xcode tạo ứng dụng, sau đó chạy ứng dụng trên thiết bị hoặc trên trình mô phỏng.
- Bạn sẽ thấy một bản đồ có một điểm đánh dấu được căn giữa tại Sydney trên bờ biển phía đông của Úc, tương tự như hình ảnh trên trang này.
Gỡ rối:
- Nếu bạn không thấy bản đồ, hãy kiểm tra để chắc chắn rằng bạn đã lấy khoá API và thêm khoá đó vào ứng dụng, như mô tả ở trên. Hãy kiểm tra bảng điều khiển gỡ lỗi của Xcode để xem các thông báo lỗi về khoá API.
- Nếu bạn đã giới hạn khoá API theo giá trị nhận dạng gói iOS, hãy chỉnh sửa khoá để thêm giá trị nhận dạng gói cho ứng dụng:
com.google.examples.map-with-marker
. - Đảm bảo rằng bạn có kết nối WiFi hoặc GPS tốt.
- Sử dụng công cụ gỡ lỗi Xcode để xem nhật ký và gỡ lỗi ứng dụng.
Hiểu rõ mã
- Tạo bản đồ và đặt bản đồ đó làm chế độ xem trong
loadView()
.Swift
// Create a GMSCameraPosition that tells the map to display the // coordinate -33.86,151.20 at zoom level 6. let camera = GMSCameraPosition.camera(withLatitude: -33.86, longitude: 151.20, zoom: 6.0) let mapView = GMSMapView.map(withFrame: CGRect.zero, camera: camera) view = mapView
Objective-C
// Create a GMSCameraPosition that tells the map to display the // coordinate -33.86,151.20 at zoom level 6. GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:-33.86 longitude:151.20 zoom:6.0]; GMSMapView *mapView = [[GMSMapView alloc] initWithFrame: CGRectZero camera:camera]; self.view = mapView;
- Thêm điểm đánh dấu vào bản đồ trong
loadView()
.Swift
// Creates a marker in the center of the map. let marker = GMSMarker() marker.position = CLLocationCoordinate2D(latitude: -33.86, longitude: 151.20) marker.title = "Sydney" marker.snippet = "Australia" marker.map = mapView
Objective-C
// Creates a marker in the center of the map. GMSMarker *marker = [[GMSMarker alloc] init]; marker.position = CLLocationCoordinate2DMake(-33.86, 151.20); marker.title = @"Sydney"; marker.snippet = @"Australia"; marker.map = mapView;
Theo mặc định, SDK Maps dành cho iOS hiển thị nội dung của cửa sổ thông tin khi người dùng nhấn vào một điểm đánh dấu. Bạn không cần thêm trình nghe lượt nhấp cho điểm đánh dấu nếu muốn sử dụng hành vi mặc định.
Xin chúc mừng! Bạn đã tạo một ứng dụng iOS hiển thị bản đồ Google bằng một điểm đánh dấu để cho biết một vị trí cụ thể. Bạn cũng đã tìm hiểu cách sử dụng SDK Bản đồ dành cho iOS.
Các bước tiếp theo
Tìm hiểu thêm về đối tượng bản đồ và những việc bạn có thể làm với điểm đánh dấu.