iOS百度地图的基本使用

1.如何点击按钮放大和缩小地图?
在地图上创建两个按钮加上点击事件,点击事件中分别写上如下方法即可实现:
创建按钮:

//左边按钮
UIButton *leftBtn = [UIButton buttonWithType:UIButtonTypeSystem];

leftBtn.frame = CGRectMake(SCREEN_WIDTH*0.6, SCREEN_HEIGHT*0.93, 60, 30);

[leftBtn setBackgroundImage:[UIImage imageNamed:@"left_btn"] forState:UIControlStateNormal];

[leftBtn addTarget:self action:@selector(leftBtnAction:) forControlEvents:UIControlEventTouchUpInside];

[self.view addSubview:leftBtn];

//右边按钮
UIButton *rightBtn = [UIButton buttonWithType:UIButtonTypeSystem];

rightBtn.frame = CGRectMake(SCREEN_WIDTH*0.6+61, SCREEN_HEIGHT*0.93, 60, 30);

[rightBtn setBackgroundImage:[UIImage imageNamed:@"right_btn"] forState:UIControlStateNormal];

[rightBtn addTarget:self action:@selector(rightAction:) forControlEvents:UIControlEventTouchUpInside];

[self.view  addSubview:rightBtn];

实现点击事件:

- (void)leftBtnAction:(UIButton *)btn
{

[_mapView setZoomLevel:_mapView.zoomLevel-3];//缩小地图

}

- (void)rightAction:(UIButton *)btn
{

[_mapView setZoomLevel:_mapView.zoomLevel+3];//放大地图

}

2.当在地图上大头针要实现连续点击事件上时该怎么做?(百度地图大头针默认只能点击一次)

//实现连续点击
[_mapView deselectAnnotation:view.annotation animated:YES];

3.当我们想要获取手机屏幕上能看到的所有大头针的经纬度时该怎么做?

//当前屏幕中心点的经纬度

CGFloat centerLongitude = self.mapView.region.center.longitude;

CGFloat centerLatitude = self.mapView.region.center.latitude;

//当前屏幕显示范围的经纬度

CLLocationDegrees pointssLongitudeDelta = self.mapView.region.span.longitudeDelta;

CLLocationDegrees pointssLatitudeDelta = self.mapView.region.span.latitudeDelta;

//左上角

CGFloat leftUpLong = centerLongitude - pointssLongitudeDelta/2.0;

CGFloat leftUpLati = centerLatitude - pointssLatitudeDelta/2.0;

//右上角

CGFloat rightUpLong = centerLongitude + pointssLongitudeDelta/2.0;

CGFloat rightUpLati = centerLatitude - pointssLatitudeDelta/2.0;

//左下角

CGFloat leftDownLong = centerLongitude - pointssLongitudeDelta/2.0;

CGFloat leftDownlati = centerLatitude + pointssLatitudeDelta/2.0;

//右下角

CGFloat rightDownLong = centerLongitude + pointssLongitudeDelta/2.0;

CGFloat rightDownLati = centerLatitude + pointssLatitudeDelta/2.0;

NSLog(@"\n 左上  %f,%f---------\n 右上  %f,%f-------\n 左下  %f,%f----- \n 右下  %f,%f",leftUpLong,leftUpLati,rightUpLong,rightUpLati,leftDownLong,leftDownlati,rightDownLong,rightDownLati);

4.百度地图的一些基本设置:

//设置百度地图的等级
[_mapView setZoomLevel:10];

//是否显示比例尺
mapView.showMapScaleBar = YES;

//比例尺在地图上的位置  
mapView.mapScaleBarPosition = CGPointMake(10,mapView.frame.size.height-45);

//地图是否支持旋转,系统默认是旋转的,即为YES,不想地图旋转设为NO
_mapView.rotateEnabled = YES;

//设定地图是否现显示3D楼块效果
_mapView.buildingsEnabled = YES;

5.如何在地图上循环创建多个大头针?

//循环遍历数组,数组里面包含所有的经纬度
for (AnnotaionModel *model in _annotaionArray) {

//判断当经纬度为0的时候不在地图上显示
if ([model.Latitude doubleValue]==0||[model.Longitude doubleValue]==0) {

continue;

}

_annotion = [[BMKPointAnnotation alloc]init];

CLLocationCoordinate2D coor = CLLocationCoordinate2DMake([model.Latitude doubleValue]  , [model.Longitude doubleValue]);

_annotion.coordinate = coor;

[_mapView addAnnotation:_annotion];

}

6.当你不想用系统的大头针,想用自己设置的图片来显示大头针时怎么做?

#pragma mark --BMKMapViewDelegate百度地图代理方法---
- (BMKAnnotationView *)mapView:(BMKMapView *)mapView viewForAnnotation:(id )annotation

{

BMKPinAnnotationView *newAnnotationView = [[BMKPinAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:@"myAnnotation"];

newAnnotationView.pinColor = BMKPinAnnotationColorPurple;

for (AnnotaionModel *model in _annotaionArray) {

//设置大头针图片
newAnnotationView.image = [UIImage imageNamed:@"icon_stop"];

//当设为YES时view被选中时会弹出气泡,annotation必须实现了title这个方法,当为NO时点击大头针不会弹出气泡
newAnnotationView.canShowCallout = NO;

return newAnnotationView;

}

7.如何获取自身定位的经纬度:

#pragma mark --BMKLocationServiceDelegate百度地图定位代理方法--
- (void)didUpdateBMKUserLocation:(BMKUserLocation *)userLocation
{

CLLocationCoordinate2D coor = CLLocationCoordinate2DMake(userLocation.location.coordinate.latitude, userLocation.location.coordinate.longitude);
NSLog(@"%f,%f",coor.latitude,coor.longitude);

}

8.如何实现定位?

//自iOS SDK v2.5.0起,为了对iOS8的定位能力做兼容,做了相应的修改,开发者在使用过程中注意事项如下: 需要在info.plist里添加(以下二选一,两个都添加默认使用NSLocationWhenInUseUsageDescription):

NSLocationWhenInUseUsageDescription ,允许在前台使用时获取GPS的描述

NSLocationAlwaysUsageDescription ,允许永久使用GPS的描述

_locationService = [[BMKLocationService alloc]init];

_locationService.delegate =self;//设置代理

[_locationService startUserLocationService];

//实现定位的代理方法

#pragma mark ----BMKLocationServiceDelegate---
- (void)didUpdateBMKUserLocation:(BMKUserLocation *)userLocation

{

CLLocationCoordinate2D coor = CLLocationCoordinate2DMake(userLocation.location.coordinate.latitude, userLocation.location.coordinate.longitude);

_mapView.centerCoordinate = coor;

[_mapView updateLocationData:userLocation];

}

最后打个小广告不是介意哈! iOS开发交流群:529052159,iOS公众号:iOS开发精髓,每天都会发布精美文章。动动你的小手扫码关注吧!

Paste_Image.png

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,830评论 5 468
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,992评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,875评论 0 331
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,837评论 1 271
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,734评论 5 360
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,091评论 1 277
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,550评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,217评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,368评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,298评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,350评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,027评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,623评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,706评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,940评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,349评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,936评论 2 341

推荐阅读更多精彩内容