การคำนวณระยะทางระหว่างสอง 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 แทน