CLLocation學習

1:CLLocationDegrees 經緯度

CLLocationDegrees latitude = theLocation.coordinate.latitude;

CLLocationCoordinate2D coordinate = theLocation.coordinate

CLLocationDegrees longitude = theLocation.coordinate.longitude;

2:CLLocationAccuracy 精度

有四個值:kCLLocationAccuracyBestForNavigation,kCLLocationAccuracyBest,

kCLLocationAccuracyNearestTenMeters,kCLLocationAccuracyHundredMeters

kCLLocationAccuracyKilometer,kCLLocationAccuracyThreeKilometers

3:MKCoordinateSpan span = MKCoordinateSpanMake(0.10.1);//顯示比例

 

   MKCoordinateRegion region = MKCoordinateRegionMake(coordinate, span);//定義地圖區域

4:MKMapView

MapType屬性值                 描述

    MKMapTypeStandard           表示標準的街道級地圖

    MKMapTypeSatellite          表示衛星圖

    MKMapTypeHybird             表示上面兩者的混合

5:計算兩點間的位置:單位(千米)

[NSString stringWithFormat:@"%0.2f km",[userLocation getDistanceFrom:location]/1000]

6:在處理MKAnnotationView時,都要判斷對應annotation是不是MKUserLocation這個顯示用戶當前位置的藍點,以避免誤 操作。[annotation isKindOfClass:[MKUserLocation class]]

7:- (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id <MKAnnotation>)annotation

這個delegate函數一般會在給MKMapView對象添加 annotations後馬上執行,但執行不會馬上結束。如果在它完成之前就調用
[mapView viewForAnnotation:someAnnotation];的話,會返回nil的結果,這時對這個返回的nil做任何操作都不會在屏幕上顯示

8:MKMapView放大縮小時,需要注意的是放大,至少放大2倍以上纔會被執行。

MKCoordinateRegion region = mMapView.region;

region.span.latitudeDelta=region.span.latitudeDelta * 0.4;

region.span.longitudeDelta=region.span.longitudeDelta * 0.4;

[mapView setRegion:region animated:YES];(放大)

MKCoordinateRegion region = mMapView.region;

region.span.latitudeDelta=region.span.latitudeDelta * 1.3;

region.span.longitudeDelta=region.span.longitudeDelta * 1.3;

[mapView setRegion:region animated:YES];(縮小)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章