iOS百度地图SDK详解
来源:互联网 发布:淘宝客 发展趋势 编辑:程序博客网 时间:2024/05/16 08:56
1.百度地图使用
- MessageUI.framework
- Security.framework
- CoreGraphics.framework
- SystemContiguration.framework
- QuartzCore.framework
- CoreLocation.framework
- OpenGLES.framework
以上是地图使用导入的系统类库
BaiduMapAPI.framework是下载官方SDK中获取,包括mapapi.bundle和inc文件夹一起导入到工程里
代码:
#import "AppDelegate.h"#import <BaiduMapAPI/BMapKit.h>#import <BaiduMapAPI/BMKMapView.h>#import "ViewController.h"@interface AppDelegate ()//主引擎属性@property(strong,nonatomic)BMKMapManager *mapManager;@property(strong,nonatomic)UINavigationController *navigationController;@end@implementation AppDelegate- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { //百度appkey FzfCFmGV8m6ZwZfxF57B3H4o self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; //启动BaiduMapManager self.mapManager = [[BMKMapManager alloc] init]; BOOL ret = [self.mapManager start:@"FzfCFmGV8m6ZwZfxF57B3H4o" generalDelegate:self]; if (!ret) { NSLog(@"百度地图开启定位"); } self.window.backgroundColor = [UIColor whiteColor]; [self.window makeKeyAndVisible]; ViewController *Root = [[ViewController alloc] init]; UINavigationController *naV = [[UINavigationController alloc] initWithRootViewController:Root]; self.window.rootViewController = naV; return YES;}
ViewController.m中
#import "ViewController.h"@interface ViewController ()/** 百度地图View */@property(strong, nonatomic)BMKMapView *mapView;@property(strong, nonatomic)BMKMapView *bmkMapView;@property(nonatomic,retain)BMKLocationService *locationService;@end@implementation ViewController- (void)viewDidLoad { [super viewDidLoad]; //初始化定位服务对象// self.locationService = [[BMKLocationService alloc] init];// self.locationService.delegate = self;// //显示定位的蓝点儿必须先开启定位服务// [self.locationService startUserLocationService]; [self initBMLocationService]; //初始化地图视图 self.mapView = [[BMKMapView alloc] initWithFrame:CGRectMake(0, 0, 320, 480)]; //切换卫星图 //[self.mapView setMapType:BMKMapTypeSatellite]; [self setMapViewProperty]; //地图级别 self.mapView.zoomLevel = 18; self.mapView.mapType = BMKMapTypeStandard; //显示比例尺 // self.mapView.showMapScaleBar = YES; //自定义比例尺 self.mapView.mapScaleBarPosition = CGPointMake(240, 280); self.view = self.mapView; // http://bbs.lbsyun.baidu.com/viewthread.php?tid=3621&extra=page3D1 [self.mapView setShowsUserLocation:NO]; self.mapView.userTrackingMode = BMKUserTrackingModeNone; // 地图模式 [self.mapView setShowsUserLocation:YES]; self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithImage:nil style:UIBarButtonItemStyleDone target:self action:@selector(leftButton)]; [self.navigationItem.leftBarButtonItem setTitle:@"定位"]; BMKLocationViewDisplayParam *testparam = [[BMKLocationViewDisplayParam alloc]init]; //跟随态旋转角度是否生效 testparam.isRotateAngleValid = YES; //精度圈是否显示 testparam.isAccuracyCircleShow = YES; //定位图标名称 testparam.locationViewImgName = @"bnavi_icon_location_fixed@2x"; //定位图标偏移量 testparam.locationViewOffsetX = 0; testparam.locationViewOffsetY = 0; [self.mapView updateLocationViewWithParam:testparam];}-(void)leftButton{ NSLog(@"进入普通定位态"); [self.locationService startUserLocationService]; _mapView.showsUserLocation = NO;//先关闭显示的定位图层 _mapView.userTrackingMode = BMKUserTrackingModeNone;//设置定位的状态 _mapView.showsUserLocation = YES;//显示定位图层 // 设置当前地图的显示范围,直接显示到用户位置 // BMKCoordinateRegion adjustRegion = [self.mapView regionThatFits:BMKCoordinateRegionMake(self.bmkLocationService.userLocation.location.coordinate, BMKCoordinateSpanMake(0.02f,0.02f))]; //设置地图当前的显示范围 // [self.mapView setRegion:adjustRegion animated:YES]; //表示一个点的annotation //CLLocationCoordinate2D 表示经纬度 BMKPointAnnotation* annotation = [[BMKPointAnnotation alloc]init]; CLLocationCoordinate2D coor; //此处暂写北京的经纬度 coor.latitude = 39.915; coor.longitude = 116.404; annotation.coordinate = coor; annotation.title = @"北京天安门"; //向地图窗口添加标注 [_mapView addAnnotation:annotation]; // 添加一个PointAnnotation BMKPointAnnotation *pointAnnotation2 = [[BMKPointAnnotation alloc]init]; CLLocationCoordinate2D coor2; coor2.latitude = 39.913; coor2.longitude = 116.402; pointAnnotation2.title = @"3号区"; pointAnnotation2.coordinate = coor2; [_mapView addAnnotation:pointAnnotation2];// [annotationArray addObject:pointAnnotation2];}- (void)initBMLocationService{ // 初始化位置百度位置服务 self.bmkLocationService = [[BMKLocationService alloc] init]; // 设置距离过滤,表示每移动10更新一次位置 [BMKLocationService setLocationDistanceFilter:10]; // 设置定位精度 [BMKLocationService setLocationDesiredAccuracy:kCLLocationAccuracyBest];}//注意必须使真机才可使用手机定位- (void)setMapViewProperty{ // 显示定位图层 self.mapView.showsUserLocation = YES; // 设置定位模式 self.mapView.userTrackingMode = BMKUserTrackingModeNone; // 允许旋转地图 self.mapView.rotateEnabled = YES; // 显示比例尺 self.bmkMapView.showMapScaleBar = YES; self.bmkMapView.mapScaleBarPosition = CGPointMake(self.view.frame.size.width - 50, self.view.frame.size.height - 50); // 定位图层自定义样式参数 BMKLocationViewDisplayParam *displayParam = [[BMKLocationViewDisplayParam alloc]init]; displayParam.isRotateAngleValid = NO;//跟随态旋转角度是否生效 displayParam.isAccuracyCircleShow = NO;//精度圈是否显示 displayParam.locationViewOffsetX = 0;//定位偏移量(经度) displayParam.locationViewOffsetY = 0;//定位偏移量(纬度) displayParam.locationViewImgName = @"walk"; //动态指定我的位置样式 [self.mapView updateLocationViewWithParam:displayParam];}
以上就是对于百度地图的基本使用,希望大家能有所收获,笔者初次撰写博客,有些地方可能不是很全面,希望大家见谅,笔者也会继续努力,与大家共同分享iOS相关知识,谢谢。
1 1
- iOS百度地图SDK详解
- iOS百度地图SDK调坑
- iOS 百度地图SDK使用
- 百度地图 SDK 错误 详解
- 百度地图ios sdk使用纪录。。。。
- 百度地图 ios sdk的简单配置
- 百度地图 IOS sdk 错误总结
- 百度地图 iOS SDK - 坐标转换方法
- ios百度地图SDK自我用法总结
- iOS 百度地图SDK使用小结
- iOS百度地图SDK常见问题以及解决方案
- iOS开发百度地图SDK集成方法
- ios 硬件 导航 - 百度地图SDK
- iOS 百度地图SDK使用漫谈
- ios 百度地图 使用详解
- ios 百度地图 使用详解
- ios 百度地图 使用详解
- iOS 百度地图使用详解
- Android单元测试
- 结对编程
- 怎样将word中的图片另存为jpg格式的图片
- Rogue游戏(二)——房间与走廊的创建
- OSI七层与TCP/IP五层网络架构详解
- iOS百度地图SDK详解
- filter
- Android 数据库安全解决方案,使用SQLCipher进行加解密
- 《C++ primer》英文第五版阅读笔记(八)——声明命名空间
- Java忽略转义字符,原格式输出
- jquery动态添加json对象参数
- 最大似然度或者最大似然估計
- PropertyPlaceholderConfigurer
- C++类的构造函数及操作符()重载