iOS开发中地图(MapKit)的使用
首先要引入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文件中
#import <UIKit/UIKit.h> #import <CoreLocation/CoreLocation.h> #import <MapKit/MapKit.h> @interface GPSViewController : UIViewController<CLLocationManagerDelegate,MKMapViewDelegate> @property(nonatomic,retain) CLLocationManager* locationmanager; @property(nonatomic,retain) CLGeocoder* geocoder; @end
GPSViewController.m文件中
#import "GPSViewController.h"
@interface GPSViewController ()
@end
@implementation GPSViewController
@synthesize locationmanager,geocoder;
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
// Custom initialization
}
return self;
}
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view.
//初始化地图视图
MKMapView* mapview = [[MKMapView alloc]initWithFrame:CGRectMake(0, 0, 320, 480)];
//地图的代理方法
mapview.delegate = self;
//是否显示当前的位置
mapview.showsUserLocation = YES;
//地图的类型, iOS开发中自带的地图
//使用第三方的地图可以查找周边环境的餐馆,学校之类的
/*
MKMapTypeStandard 标准地图
MKMapTypeSatellite 卫星地图
MKMapTypeHybrid 混合地图
*/
mapview.mapType = MKMapTypeStandard;
//河南南阳的经纬度,初始化的坐标
CLLocationCoordinate2D coor2d = {33.00,112.52};
//CLLocationCoordinate2D coor2d = {37.7,112.4};
//显示范围,数值越大,范围就越大
MKCoordinateSpan span = {5,5};
MKCoordinateRegion region = {coor2d,span};
//是否允许缩放,一般都会让缩放的
//mapview.zoomEnabled = NO;
//mapview.scrollEnabled = NO;
//地图初始化时显示的区域
[mapview setRegion:region];
[self.view addSubview:mapview];
locationmanager = [[CLLocationManager alloc]init];
//设置精度
/*
kCLLocationAccuracyBest
kCLLocationAccuracyNearestTenMeters
kCLLocationAccuracyHundredMeters
kCLLocationAccuracyHundredMeters
kCLLocationAccuracyKilometer
kCLLocationAccuracyThreeKilometers
*/
//设置定位的精度
[locationmanager setDesiredAccuracy:kCLLocationAccuracyBest];
//实现协议
locationmanager.delegate = self;
NSLog(@"开始定位");
//开始定位
[locationmanager startUpdatingLocation];
}
#pragma mark locationManager delegate
//实现定位 6.0 过期的做法
- (void)locationManager:(CLLocationManager *)manager
didUpdateToLocation:(CLLocation *)newLocation
fromLocation:(CLLocation *)oldLocation
{
NSLog(@"hello");
//打印出精度和纬度
CLLocationCoordinate2D coordinate = newLocation.coordinate;
NSLog(@"输出当前的精度和纬度");
NSLog(@"精度:%f 纬度:%f",coordinate.latitude,coordinate.longitude);
//停止定位
[locationmanager stopUpdatingLocation];
//计算两个位置的距离
float distance = [newLocation distanceFromLocation:oldLocation];
NSLog(@" 距离 %f",distance);
//====位置的反编码 5.0 之后的
/*
*/
geocoder = [[CLGeocoder alloc]init];
[geocoder reverseGeocodeLocation:newLocation completionHandler:^(NSArray*placemarks,NSError* error)
{
//NSLog(@"hffjv");
for (CLPlacemark* place in placemarks) {
//NSLog(@"hffjv");
NSLog(@"name %@",place.name); //位置
NSLog(@"thoroughfare %@",place.thoroughfare);//街道
//子街道
NSLog(@"subthoroughfare %@",place.subAdministrativeArea);
//市
NSLog(@"loclitity %@",place.locality);
//区
NSLog(@"subLocality %@",place.subLocality);
//国家
NSLog(@"country %@",place.country);
NSLog(@"hffjv");
}
}];
}
// 6.0 之后新增的位置调用方法
/*-(void)locationManager:(CLLocationManager *)manager
didUpdateLocations:(NSArray *)locations
{
for (CLLocation* location in locations) {
NSLog(@"%@",location);
}
//停止定位
// [manager stopUpdatingLocation];
}
*/
#pragma mark MKMapViewDelegate的代理方法
//返回标注视图(大头针视图)
/*- (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
{
}
@end
iOS开发中地图(MapKit)的使用,布布扣,bubuko.com
原文:http://blog.csdn.net/jingjingxujiayou/article/details/23122633