IOS 地图相关知识点小记

来源:互联网 发布:php 异步请求网页 编辑:程序博客网 时间:2024/05/16 02:26

从事iOS开发快半年咯总感觉自己没有进步多少.遇到原来做过的东西在做起来还是觉得陌生.反省一下还是觉得自己应该把做过的东西总结一下.

这两天整一个地图导航的东西.把里面的相关知识点做一个总结

   CLLocationManager * locationManager = [[CLLocationManageralloc]init]; //初始化位置管理器

    [locationManagersetDesiredAccuracy:kCLLocationAccuracyBest];   //设置精度

externconstCLLocationAccuracy kCLLocationAccuracyBest;//最高精度.

externconstCLLocationAccuracy kCLLocationAccuracyNearestTenMeters;//精度为100米内

externconstCLLocationAccuracy kCLLocationAccuracyHundredMeters;//精度到公里范围内

externconstCLLocationAccuracy kCLLocationAccuracyKilometer;//精度到1公里范围内

externconstCLLocationAccuracy kCLLocationAccuracyThreeKilometers;//精度到3公里范围内

    [locationManagersetDistanceFilter:1000.0f];//每隔多远重新获得一次用户的位置

    [locationManagersetDelegate:self];//为位置管理器设置代理用来执行管理位置的方法

    [locationManagerstartUpdatingLocation];//开始监测用户位置的变化

   MKCoordinateRegion theRegion;//显示区域 

typedefstruct {

CLLocationCoordinate2D center;//地图显示的中心

MKCoordinateSpan span;//显示半径经纬度跨度

} MKCoordinateRegion;

   MKCoordinateSpan  theSpan;    //显示半径经纬度跨度

typedefstruct {

    CLLocationDegrees latitudeDelta;//纬度跨度

    CLLocationDegrees longitudeDelta;//经度跨度

} MKCoordinateSpan;

[mapViewsetMapType:MKMapTypeStandard];//设置地图显示的类型

enum {

    MKMapTypeStandard = 0,//标准 默认值

    MKMapTypeSatellite,//标准和卫星混合

    MKMapTypeHybrid//卫星

};

    mapView.showsUserLocation = YES;//设置是否显示用户的当前位置

    [mapViewsetDelegate:self];//设置操作地图的代理

   mapView.scrollEnabled = YES;//设置地图是否一个拖动

   mapView.zoomEnabled = YES;//设置地图是否可以缩放


[mapViewsetRegion:theRegionanimated:YES];//设置地图显示区域 


//将坐标逆向地理编码获得 place的详细信息



//通过经纬度坐标获得地点的详细信息iOS5 以上的方法

- (void)reverseGeocodeLocation:(CLLocation *)location completionHandler:(CLGeocodeCompletionHandler)completionHandler;

//通过地点的部分信息字典获取该地点的详细信息

- (void)geocodeAddressDictionary:(NSDictionary *)addressDictionary completionHandler:(CLGeocodeCompletionHandler)completionHandler;

//通过接收用户输入的字符串得到地点的详细信息

- (void)geocodeAddressString:(NSString *)addressString completionHandler:(CLGeocodeCompletionHandler)completionHandler;

//通过接收用户输入的字符串在制定区域内搜索得到地点的详细信息

- (void)geocodeAddressString:(NSString *)addressString inRegion:(CLRegion *)region completionHandler:(CLGeocodeCompletionHandler)completionHandler;


//demo

CLLocation * location = [[CLLocationalloc]initWithLatitude:annotation.coordinate.latitudelongitude:annotation.coordinate.longitude];

        

       CLGeocoder *geocoder = [[CLGeocoderalloc]init];//逆向编码器对象

        [geocoder reverseGeocodeLocation:locationcompletionHandler:

         ^(NSArray *placemarks,NSError *error) {

             for (CLPlacemark *placemark in placemarks)

             {

                //逆向编码完成后所作的工作

             }

         }];

        [location release];

        [geocoder release];





//其他的小知识点

1.将一个字符串数字转换成一个字符串

[strArraycomponentsJoinedByString:@""]//可以轻松的转成字符串



原创粉丝点击