Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> iOS

วิธีคำนวณระยะทางระหว่างสองพิกัดภูมิศาสตร์บน iOS ด้วย Swift

การคำนวณระยะทางระหว่างสอง Geo-coordinates บน iOS

ใช้ Framework CoreLocation คำนวณระยะทางระหว่างจุดสองจุดบนโลกได้อย่างแม่นยำ

ขั้นตอนที่ 1: สร้างโปรเจกต์

Xcode → New Project → Single View Application → ชื่อ "FindDistance"

ขั้นตอนที่ 2: เพิ่ม Label ใน Storyboard

วาง Label สำหรับแสดงผลระยะทาง

ขั้นตอนที่ 3: สร้าง IBOutlet

เชื่อม Label กับ distanceLabel

ขั้นตอนที่ 4: Import CoreLocation

import CoreLocation

ขั้นตอนที่ 5: กำหนดพิกัดสองจุด

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

ขั้นตอนที่ 6: คำนวณและแสดงระยะทางใน viewDidLoad

override func viewDidLoad() {
    super.viewDidLoad()
    
    let distanceInMeters = firstLocation.distance(from: secondLocation)
    let distanceInKm = distanceInMeters / 1000.0
    distanceLabel.text = String(format: "%.02f KMs", distanceInKm)
}

คำอธิบาย

  • distance(from:) คืนค่าระยะทางเป็นเมตร (Straight-line distance / Great-circle distance)
  • หาร 1000 เพื่อแปลงเป็นกิโลเมตร
  • ใช้ String(format:) จัดรูปแบบทศนิยม 2 ตำแหน่ง

ขั้นตอนที่ 7: รันโปรเจกต์

จะเห็นระยะทางระหว่างสองพิกัดแสดงบน Label

ขยายความสามารถ

หากต้องการคำนวณระยะทางตามถนน (Driving distance) ควรใช้ MKDirections ของ MapKit แทน