免費開源的iOS開發學習平臺

高德地圖SDK:3-地圖SDK簡介

高德地圖所提供的SDK中,地圖SDK是用于提供地圖展示相關功能的SDK,其可以提供地圖顯示(含室內、室外地圖)、與地圖交互、在地圖上繪制、興趣點搜索、地理編碼、離線地圖等功能。

MAMapView類簡介

MAMapView類是高德地圖提供的用于展示地圖的類,其與MapKit框架中的MKMapView功能是類似的,但其提供的功能更加強大。在MAMapView類中,提供了如下一些比較常用的屬性和方法。

  • 地圖類型。除了普通地圖以及衛星圖之外,高德地圖還提供夜間視圖、導航視圖以及公交視圖等多種類型的地圖
@property (nonatomic) MAMapType mapType;
  • 當前地圖的中心點,改變該值時,地圖的比例尺級別不會發生變化
@property (nonatomic) CLLocationCoordinate2D centerCoordinate;
  • 當前地圖的經緯度范圍,設定的該范圍可能會被調整為適合地圖窗口顯示的范圍
@property (nonatomic) MACoordinateRegion region;
  • 是否顯示用戶位置
@property (nonatomic) BOOL showsUserLocation;
  • 向地圖窗口添加標注,需要實現MAMapViewDelegate的-mapView:viewForAnnotation:函數來生成標注對應的View
- (void)addAnnotation:(id <MAAnnotation>)annotation;

實現地圖展示功能

下方的示例代碼創建了一個MAMapView,并顯示在屏幕上。

引入高德地圖頭文件。

#import <MAMapKit/MAMapKit.h>
#import <AMapFoundationKit/AMapFoundationKit.h>

在viewDidLoad方法中,創建MAMapView。

- (void)viewDidLoad {
    [super viewDidLoad];   
    //實例化MAMapView對象
    MAMapView *mapView = [[MAMapView alloc] initWithFrame:CGRectMake(0, 0, CGRectGetWidth(self.view.bounds), CGRectGetHeight(self.view.bounds))];
    //設置代理
    mapView.delegate = self; 
    //設置地圖類型
    mapView.mapType = MAMapTypeStandard;
    //定位以后改變地圖的圖層顯示。
    [mapView setUserTrackingMode: MAUserTrackingModeFollow animated:YES];
    //添加到控制器view上
    [self.view addSubview:mapView];
}

運行結果如下:


日韩av 中文字幕 1_亚洲第一区在线_亚洲V日韩V精品v无码专区_色鬼久久亚洲AV综合