Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> iOS

Cách tính khoảng cách giữa hai vị trí địa lý trên iOS bằng Swift

Giới thiệu

Bài viết này hướng dẫn cách tính toán khoảng cách giữa hai tọa độ địa lý (latitude/longitude) sử dụng framework CoreLocation trên iOS.

Các bước thực hiện

Bước 1: Tạo dự án mới

Mở Xcode → New Project → Single View Application → Đặt tên "FindDistance".

Bước 2: Thiết kế giao diện

Thêm hai nhãn (UILabel) lên Main.storyboard.

Cách tính khoảng cách giữa hai vị trí địa lý trên iOS bằng Swift

Bước 3: Kết nối IBOutlet

Tạo @IBOutlet cho nhãn hiển thị kết quả, đặt tên distanceLabel.

Bước 4: Import CoreLocation

Thêm import CoreLocation ở đầu file ViewController.swift.

Bước 5: Khai báo hai vị trí

Tạo hai đối tượng CLLocation đại diện cho hai điểm cần tính khoảng cách:

var firstLocation = CLLocation(latitude: 34.54545, longitude: 56.64646)
var secondLocation = CLLocation(latitude: 59.326354, longitude: 18.072310)

Bước 6: Tính khoảng cách trong viewDidLoad

Sử dụng phương thức distance(from:) của CLLocation:

override func viewDidLoad() {
    super.viewDidLoad()
    
    let distanceInMeters = firstLocation.distance(from: secondLocation)
    let distanceInKm = distanceInMeters / 1000.0
    distanceLabel.text = String(format: "Khoảng cách: %.2f km", distanceInKm)
}

Giải thích

  • distance(from:) trả về khoảng cách tính bằng mét.
  • Chia cho 1000 để chuyển sang kilômét (km).
  • Phương thức sử dụng công thức Haversine tính trên mặt cầu Trái Đất.

Bước 7: Chạy thử

Kết quả hiển thị khoảng cách giữa hai điểm:

Cách tính khoảng cách giữa hai vị trí địa lý trên iOS bằng Swift

Mở rộng

Để lấy vị trí thực tế của người dùng, hãy sử dụng CLLocationManager yêu cầu quyền truy cập vị trí (NSLocationWhenInUseUsageDescription trong Info.plist).