MapView簡單定位及定位大頭針(Obj-C)
1.匯入標頭檔案 <MapKit/MapKit.h>
如果使用程式碼建立,會自動匯入MapKit框架,如果使用Xib/SB,需要手動匯入MapKit.framework框架
2.請求授權(記得配置info.plist檔案)
如果忘記請求授權,控制檯會彈出錯誤:
Trying to start MapKit location updates without prompting for location authorization. Must call -[CLLocationManager requestWhenInUseAuthorization] or -[CLLocationManager requestAlwaysAuthorization] first.
#import "ViewController.h"
#import <MapKit/MapKit.h>
@interface ViewController () <MKMapViewDelegate>
// MapView
@property (weak, nonatomic) IBOutlet MKMapView *mapView;
// 定位管理者
@property (nonatomic,strong) CLLocationManager *manager;
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
// 請求授權
self.manager = [[CLLocationManager alloc]init];
if ([self.manager respondsToSelector:@selector(requestWhenInUseAuthorization)]) {
[self.manager requestWhenInUseAuthorization];
}
// 地圖定位 設定使用者的跟蹤模式
/*
MKUserTrackingModeNone = 0, // the user's location is not followed
MKUserTrackingModeFollow, // the map follows the user's location
MKUserTrackingModeFollowWithHeading __TVOS_PROHIBITED, // the map follows the user's location and heading
*/
self.mapView.userTrackingMode = MKUserTrackingModeFollow;
// 設定代理
self.mapView.delegate = self;
}
/**
* 已經更新使用者的位置後呼叫
*
* @param mapView 地圖檢視
* @param userLocation 定位大頭針模型
*/
- (void)mapView:(MKMapView *)mapView didUpdateUserLocation:(MKUserLocation *)userLocation{
// 建立地理編碼者
CLGeocoder *geocoder = [[CLGeocoder alloc] init];
[geocoder reverseGeocodeLocation:self.mapView.userLocation.location completionHandler:^(NSArray<CLPlacemark *> * _Nullable placemarks, NSError * _Nullable error) {
if (placemarks.count == 0 || error) {
return ;
}
CLPlacemark *pm = placemarks.lastObject;
//大頭針檢視不是由開發者來新增的,大頭針檢視的資料是由開發者來設定的,通過大頭針檢視的大頭針模型來設定 定位大頭針的模型類為MKUserLocation
//2.4設定資料
self.mapView.userLocation.title = pm.locality;
self.mapView.userLocation.subtitle = pm.name;
}];
}
@end
相關文章
- 定位demo(Obj-C)OBJ
- php ip定位簡單使用PHP
- jQuery方法原始碼定位簡單方法jQuery原始碼
- 自學筆記:python+opencv針對藍色來進行簡單的車牌定位筆記PythonOpenCV
- iOS 地圖定位 定位iOS地圖
- 人臉定位程式及結果
- 定位
- 劫持GPS定位&劫持WIFI定位WiFi
- 簡單IScroll的實現,定位子盒子寬高都要注意
- 騰訊地圖定位及座標解析地圖
- JavaScript 滾動條定位指定位置JavaScript
- 大眾富翁:新市場定位群體
- CSS定位CSS
- 元素定位
- CSS——定位CSS
- Position定位
- iOS 定位iOS
- TBM定位
- 1-相對定位、絕對定位和固定定位的區別
- 元素的相對定位與絕對定位
- HTML5 Geolocation(地理定位)簡介HTML
- 生活中的佛學(目錄及定位)
- Python全棧Web(定位佈局、定位方式)Python全棧Web
- CSS中的絕對定位與相對定位CSS
- 針對不同手機系統的LBS地圖定位解決方案地圖
- css之定位CSS
- 小程式定位
- GPS定位
- CSS_定位CSS
- 個人定位
- 浮動、定位
- 地圖定位地圖
- 地理定位
- 角色定位
- css絕對定位和相對定位的差別CSS
- uni-app定位獲取自身和附近定位資訊APP
- 點選可以平滑定位到網頁指定位置網頁
- 柯達首款智慧手機亮相 主打拍照定位簡單操作手機