iOS开发中地图(MapKit)的使用

iOS开发中地图(MapKit)的使用

[objc] view plaincopyiOS开发中地图(MapKit)的使用iOS开发中地图(MapKit)的使用
  1.   

首先要引入MapKit.framework的框架

#import <MapKit/MapKit.h>的库引进来


但是运行结果可以出现地图但是一直出现这样的错误该怎么解决


Apr  7 18:26:27 Amorming.local dingwei[600] <Error>: CGBitmapContextCreate: unsupported parameter combination: 5 integer bits/component; 16 bits/pixel; 3-component color space; kCGImageAlphaNoneSkipLast; 512 bytes/row.

2014-04-07 18:26:27.843 dingwei[600:7b03] vImage decode failed, falling back to CG path.


以下是代码

GPSViewController.h文件中

[objc] view plaincopyiOS开发中地图(MapKit)的使用iOS开发中地图(MapKit)的使用
  1. #import <UIKit/UIKit.h>  
  2. #import <CoreLocation/CoreLocation.h>  
  3. #import <MapKit/MapKit.h>  
  4. @interface GPSViewController : UIViewController<CLLocationManagerDelegate,MKMapViewDelegate>  
  5.   
  6. @property(nonatomic,retain) CLLocationManager* locationmanager;  
  7. @property(nonatomic,retain) CLGeocoder* geocoder;  
  8. @end  

GPSViewController.m文件中

[objc] view plaincopyiOS开发中地图(MapKit)的使用iOS开发中地图(MapKit)的使用
  1. #import "GPSViewController.h"  
  2.   
  3. @interface GPSViewController ()  
  4.   
  5. @end  
  6.   
  7. @implementation GPSViewController  
  8.   
  9. @synthesize locationmanager,geocoder;  
  10.   
  11. - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil  
  12. {  
  13.     self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];  
  14.     if (self) {  
  15.         // Custom initialization  
  16.     }  
  17.     return self;  
  18. }  
  19.   
  20. - (void)viewDidLoad  
  21. {  
  22.     [super viewDidLoad];  
  23.     // Do any additional setup after loading the view.  
  24.     //初始化地图视图  
  25.     MKMapView* mapview = [[MKMapView alloc]initWithFrame:CGRectMake(00320480)];  
  26.     //地图的代理方法  
  27.     mapview.delegate = self;  
  28.     //是否显示当前的位置  
  29.     mapview.showsUserLocation = YES;  
  30.     //地图的类型, iOS开发中自带的地图  
  31.     //使用第三方的地图可以查找周边环境的餐馆,学校之类的  
  32.     /* 
  33.      MKMapTypeStandard 标准地图 
  34.      MKMapTypeSatellite 卫星地图 
  35.      MKMapTypeHybrid 混合地图 
  36.      */  
  37.     mapview.mapType = MKMapTypeStandard;  
  38.       
  39.     //河南南阳的经纬度,初始化的坐标  
  40.     CLLocationCoordinate2D coor2d = {33.00,112.52};  
  41.     //CLLocationCoordinate2D coor2d = {37.7,112.4};  
  42.     //显示范围,数值越大,范围就越大  
  43.     MKCoordinateSpan span = {5,5};  
  44.     MKCoordinateRegion region = {coor2d,span};  
  45.     //是否允许缩放,一般都会让缩放的  
  46.     //mapview.zoomEnabled = NO;  
  47.     //mapview.scrollEnabled = NO;  
  48.     //地图初始化时显示的区域  
  49.     [mapview setRegion:region];  
  50.     [self.view addSubview:mapview];  
  51.     locationmanager = [[CLLocationManager alloc]init];  
  52.       
  53.     //设置精度  
  54.     /* 
  55.      kCLLocationAccuracyBest 
  56.      kCLLocationAccuracyNearestTenMeters 
  57.      kCLLocationAccuracyHundredMeters 
  58.      kCLLocationAccuracyHundredMeters 
  59.      kCLLocationAccuracyKilometer 
  60.      kCLLocationAccuracyThreeKilometers 
  61.      */  
  62.     //设置定位的精度  
  63.     [locationmanager setDesiredAccuracy:kCLLocationAccuracyBest];  
  64.     //实现协议  
  65.     locationmanager.delegate = self;  
  66.     NSLog(@"开始定位");  
  67.     //开始定位  
  68.     [locationmanager startUpdatingLocation];  
  69.      
  70. }  
  71.   
  72. #pragma mark locationManager delegate  
  73.   
  74. //实现定位 6.0 过期的做法  
  75. - (void)locationManager:(CLLocationManager *)manager  
  76.     didUpdateToLocation:(CLLocation *)newLocation  
  77.            fromLocation:(CLLocation *)oldLocation  
  78. {  
  79.     NSLog(@"hello");  
  80.     //打印出精度和纬度  
  81.     CLLocationCoordinate2D coordinate = newLocation.coordinate;  
  82.     NSLog(@"输出当前的精度和纬度");  
  83.     NSLog(@"精度:%f 纬度:%f",coordinate.latitude,coordinate.longitude);  
  84.     //停止定位  
  85.     [locationmanager stopUpdatingLocation];  
  86.     //计算两个位置的距离  
  87.     float distance = [newLocation distanceFromLocation:oldLocation];  
  88.     NSLog(@" 距离 %f",distance);  
  89.       
  90.     //====位置的反编码 5.0 之后的  
  91.     /* 
  92.       
  93.      */  
  94.       
  95.    geocoder = [[CLGeocoder alloc]init];  
  96.     [geocoder reverseGeocodeLocation:newLocation completionHandler:^(NSArray*placemarks,NSError* error)  
  97.      {  
  98.          //NSLog(@"hffjv");  
  99.          for (CLPlacemark* place in placemarks) {  
  100.              //NSLog(@"hffjv");  
  101.              NSLog(@"name %@",place.name); //位置  
  102.              NSLog(@"thoroughfare %@",place.thoroughfare);//街道  
  103.              //子街道  
  104.              NSLog(@"subthoroughfare %@",place.subAdministrativeArea);  
  105.              //市  
  106.              NSLog(@"loclitity %@",place.locality);  
  107.              //区  
  108.              NSLog(@"subLocality %@",place.subLocality);  
  109.              //国家  
  110.              NSLog(@"country %@",place.country);  
  111.              NSLog(@"hffjv");  
  112.          }  
  113.            
  114.      }];  
  115. }  
  116.   
  117. // 6.0 之后新增的位置调用方法  
  118.   
  119. /*-(void)locationManager:(CLLocationManager *)manager 
  120. didUpdateLocations:(NSArray *)locations 
  121. { 
  122.     for (CLLocation* location in locations) { 
  123.         NSLog(@"%@",location); 
  124.     } 
  125.     //停止定位 
  126.    // [manager stopUpdatingLocation]; 
  127.      
  128. } 
  129. */  
  130. #pragma mark MKMapViewDelegate的代理方法  
  131. //返回标注视图(大头针视图)  
  132. /*- (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id <MKAnnotation>)annotation 
  133. { 
  134.      
  135. }*/  
  136.   
  137. //更新当前位置调用  
  138. - (void)mapView:(MKMapView *)mapView didUpdateUserLocation:(MKUserLocation *)userLocation  
  139. {  
  140.       
  141. }  
  142. //选中注释图标  
  143. - (void)mapView:(MKMapView *)mapView didSelectAnnotationView:(MKAnnotationView *)view  
  144. {  
  145.       
  146. }  
  147. //地图的显示区域改变了调用  
  148. - (void)mapView:(MKMapView *)mapView regionDidChangeAnimated:(BOOL)animated  
  149. {  
  150.       
  151. }  
  152. @end  

iOS开发中地图(MapKit)的使用,布布扣,bubuko.com

iOS开发中地图(MapKit)的使用

上一篇:MIUI开启开发者模式以及使用chrome调试移动设备上打开的网页


下一篇:在iOS开发中自动获取当前的位置(GPS定位)