MapKit Framework được xây dựng dựa trên data và APIs của Apple Maps, cung cấp cho các iOS developers một cơ chế đơn giản để tích hợp Maps trong các ứng dụng.
Hôm nay mình sẽ hướng dẫn các bạn cách sử dụng MapKit để lấy vị trí của người dùng trong ứng dụng
Bước 1:
1.1 Tạo 1 project mới, ở Main.storyboard, bạn tìm và thêm đối tượng tên Map Kit View vào View Controller
1.2 Ánh xạ đối tượng vào Class quản trị
1.3 Tới đây hệ thống sẽ báo lỗi, bạn chỉ cần lên trên và import thêm đối tượng
import MapKit
Bước 2:
2.1 Khai báo biến và thêm đối tượng CLLocationManagerDelegate
class ViewController: UIViewController, CLLocationManagerDelegate {
//Khai báo biến
var locationManager = CLLocationManager()
}
2.2 Bạn trở vào hàm viewDidload() và thêm đoạn code
//Get Current Location
locationManager.delegate = self
locationManager.desiredAccuracy = kCLLocationAccuracyHundredMeters //Update location - 100m
locationManager.requestWhenInUseAuthorization()
locationManager.startUpdatingLocation()
Ở đây,
locationManager.desiredAccuracy = kCLLocationAccuracyHundredMeters
sẽ có nhiều tuỳ chọn cho chúng ta tuỳ thuộc vào mục đích sử dụng của
locationManager.desiredAccuracy = kCLLocationAccuracyHundredMeters //khoảng 100m sẽ cập nhập lại vị trí người
locationManager.desiredAccuracy = kCLLocationAccuracyBest //luôn luôn cập nhập vị trí người
.....
2.3 Ra khỏi viewDidload(), bạn khởi tạo 1 function didUpdateLocations và chèn đoạn code
func locationManager(_ manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {
let location = locations[0]
let span = MKCoordinateSpanMake(0.03, 0.03)
let myLocation = CLLocationCoordinate2DMake(location.coordinate.latitude, location.coordinate.longitude)
let region = MKCoordinateRegionMake(myLocation, span)
mapView.setRegion(region, animated: true)
self.mapView.showsUserLocation = true
}
Bước 3
3.1 Bạn mở Info.plist -> Open As -> Source Code
và thêm đoạn code sau
<key>NSLocationWhenInUseUsageDescription</key>
<string>Cho phep su dung vi tri cua ban</string>
3.2 Run app và trải nghiệm
nhớ chọn là Allow (Cho phép) nhé!! :))
Chúc cac bạn thành công!!
Source Code: https://goo.gl/9sJXNK
Phương Duy