項目中用到了地圖相關的東西,就把以前的demo搬了出來,結果發現直接運行之前的demo沒有問題,在xcode5下新建項目再把代碼粘貼過來就會提示
May 5 11:36:21 infomedia-iPod-touch TestLocation[1465]: CGBitmapContextCreate: unsupported parameter combination: 5 integer bits/component; 16 bits/pixel; 3-component color space; kCGImageAlphaNoneSkipLast; 512 bytes/row. May 5 11:36:21 infomedia-iPod-touch TestLocation[1465] : CGBitmapContextCreate: unsupported parameter combination: 5 integer bits/component; 16 bits/pixel; 3-component color space; kCGImageAlphaNoneSkipLast; 512 bytes/row. 2014-05-05 11:36:21.974 TestLocation[1465:8b03] vImage decode failed, falling back to CG path. 2014-05-05 11:36:21.969 TestLocation[1465:9003] vImage decode failed, falling back to CG path. May 5 11:36:22 infomedia-iPod-touch TestLocation[1465] : CGBitmapContextCreate: unsupported parameter combination: 5 integer bits/component; 16 bits/pixel; 3-component color space; kCGImageAlphaNoneSkipLast; 512 bytes/row. 2014-05-05 11:36:22.653 TestLocation[1465:a003] vImage decode failed, falling back to CG path. May 5 11:36:22 infomedia-iPod-touch TestLocation[1465] : CGBitmapContextCreate: unsupported parameter combination: 5 integer bits/component; 16 bits/pixel; 3-component color space; kCGImageAlphaNoneSkipLast; 512 bytes/row. 2014-05-05 11:36:22.691 TestLocation[1465:9503] vImage decode failed, falling back to CG path. May 5 11:36:22 infomedia-iPod-touch TestLocation[1465] : CGBitmapContextCreate: unsupported parameter combination: 5 integer bits/component; 16 bits/pixel; 3-component color space; kCGImageAlphaNoneSkipLast; 512 bytes/row. 2014-05-05 11:36:22.711 TestLocation[1465:890b] vImage decode failed, falling back to CG path. May 5 11:36:22 infomedia-iPod-touch TestLocation[1465] : CGBitmapContextCreate: unsupported parameter combination: 5 integer bits/component; 16 bits/pixel; 3-component color space; kCGImageAlphaNoneSkipLast; 512 bytes/row. 2014-05-05 11:36:22.725 TestLocation[1465:9003] vImage decode failed, falling back to CG path. May 5 11:36:22 infomedia-iPod-touch TestLocation[1465] : CGBitmapContextCreate: unsupported parameter combination: 5 integer bits/component; 16 bits/pixel; 3-component color space; kCGImageAlphaNoneSkipLast; 512 bytes/row. 2014-05-05 11:36:22.733 TestLocation[1465:9b03] vImage decode failed, falling back to CG path. May 5 11:36:22 infomedia-iPod-touch TestLocation[1465] : CGBitmapContextCreate: unsupported parameter combination: 5 integer bits/component; 16 bits/pixel; 3-component color space; kCGImageAlphaNoneSkipLast; 512 bytes/row. 2014-05-05 11:36:22.736 TestLocation[1465:8b03] vImage decode failed, falling back to CG path. May 5 11:36:22 infomedia-iPod-touch TestLocation[1465] : CGBitmapContextCreate: unsupported parameter combination: 5 integer bits/component; 16 bits/pixel; 3-component color space; kCGImageAlphaNoneSkipLast; 512 bytes/row. 2014-05-05 11:36:22.777 TestLocation[1465:9207] vImage decode failed, falling back to CG path.
工具:xcode5.0
1.新建一個single view application ,導入map kit和core location庫,將arc改為NO
2.ViewController.h文件
#import#import #import @interface ViewController : UIViewController { MKMapView *_mapView; UILabel *_showLabel; } @end
#import "ViewController.h"
#import "MapAddress.h"
@interface ViewController ()
@end
@implementation ViewController
- (void)viewDidLoad
{
[super viewDidLoad];
CLLocationManager* manager = [[CLLocationManager alloc] init];
//定位的精確度
manager.desiredAccuracy = kCLLocationAccuracyBest;
//定位距離
manager.distanceFilter = 1;
manager.delegate = self;
//開始定位
[manager startUpdatingLocation];
//地圖
_mapView = [[MKMapView alloc] initWithFrame:CGRectMake(0, 0, 320, 460)];
_mapView.showsUserLocation = YES;
[self.view addSubview:_mapView];
}
//定位成功
- (void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations{
//當前的位置
CLLocation* newLocation = [locations lastObject];
NSString* str = [MapAddress getGoogleAddress:newLocation];
NSLog(@"%@",str);
//停止定位
//[manager stopUpdatingLocation];
//地圖顯示
//定位後的經緯度
CLLocationCoordinate2D coordinate = newLocation.coordinate;
//縮放比例
MKCoordinateSpan span = MKCoordinateSpanMake(0.1, 0.1);
//確定要顯示的區域
MKCoordinateRegion region = MKCoordinateRegionMake(coordinate, span);
//讓地圖顯示這個區域
[_mapView setRegion:region animated:YES];
}
//定位失敗
- (void)locationManager:(CLLocationManager *)manager didFailWithError:(NSError *)error{
NSLog(@"定位失敗");
}
@end#import#import @interface MapAddress : NSObject + (NSString *) getBaiduAddress:(CLLocation *)location; + (NSString *) getGoogleAddress:(CLLocation *)location; @end
#import "MapAddress.h"
@implementation MapAddress
+ (NSString *) getBaiduAddress:(CLLocation *)location {
double latitude = location.coordinate.latitude;
double longtitude = location.coordinate.longitude;
NSString *urlstr = [NSString stringWithFormat:
@"http://api.map.baidu.com/geocoder?output=json&location=%f,%f&key=dc40f705157725fc98f1fee6a15b6e60",
latitude, longtitude];
NSURL *url = [NSURL URLWithString:urlstr];
NSString *s = [NSString stringWithContentsOfURL:url encoding:NSUTF8StringEncoding error:nil];
return s;
}
+ (NSString *) getGoogleAddress:(CLLocation *)location {
NSString *urlstr = [NSString stringWithFormat:
@"http://maps.google.com/maps/api/geocode/json?latlng=%f,%f&language=zh-CN&sensor=false",
location.coordinate.latitude, location.coordinate.longitude];
NSLog(@"%@", urlstr);
NSURL *url = [NSURL URLWithString:urlstr];
NSString *s = [NSString stringWithContentsOfURL:url encoding:NSUTF8StringEncoding error:nil];
return s;
}
@end