標籤:ios iphone開發 地圖 位置服務
1.MapKit的基本概念
- 使用Core Location架構擷取當前裝置的位置資訊,而使用MapKit架構能夠顯示該資訊
- 使用地圖服務時,需要添加 MapKit.framework架構
- MapKit的大部分功能由MKMapView完成,主要負責地圖的顯示
2.範例程式碼
.h中的代碼
#import <MapKit/MapKit.h>@interface MainViewController : UIViewController<MKMapViewDelegate,CLLocationManagerDelegate>@property (strong, nonatomic) IBOutlet MKMapView *mapView;</span>
.m中的代碼
//設定是否顯示使用者當前位置 self.mapView.showsUserLocation = YES; //設定代理 self.mapView.delegate = self; //設定地圖顯示類型 //MKMapTypeStandard標準型 //MKMapTypeSatellite 衛星 //MKMapTypeHybrid混合型 self.mapView.mapType = MKMapTypeStandard; //經緯度座標 CLLocationCoordinate2D coord = {40.029254,116.337254}; //顯示範圍精度 MKCoordinateSpan span = {0.1,0.1}; //顯示地區 MKCoordinateRegion region = {coord,span}; //地圖初始化時地圖的位置 [self.mapView setRegion:region];
3.地圖常用的委託方法
返回標註視圖(圖釘視圖)
-(MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id<MKAnnotation>)annotation
更新當前位置時調用
-(void)mapView:(MKMapView *)mapView didUpdateUserLocation:(MKUserLocation *)userLocation;
選中標註視圖
-(void)mapView:(MKMapView *)mapView didSelectAnnotationView:(MKAnnotationView *)view
地圖的顯示地區改變時調用
-(void)mapView:(MKMapView *)mapView regionDidChangeAnimated:(BOOL)animated