iOS 百度地图 判断应用是否授权、地理位置的正反编码
来源:互联网 发布:自学剑道软件 编辑:程序博客网 时间:2024/05/16 14:53
<span style="font-family:Arial, Helvetica, sans-serif;font-size:18px;">一、判断应用是否打开定位服务</span>
<span style="font-family: Arial, Helvetica, sans-serif;">#pragma mark --- 是否打开了定位服务</span>
-(void)isOpenBmkLocationService:(void(^)(BOOL state))completion{ if ([CLLocationManager locationServicesEnabled] && ([CLLocationManager authorizationStatus] == kCLAuthorizationStatusAuthorizedAlways || [CLLocationManager authorizationStatus] == kCLAuthorizationStatusAuthorizedWhenInUse)) { completion(YES); NSLog(@"已经打开了定位服务") } else if ([CLLocationManager authorizationStatus] == kCLAuthorizationStatusDenied){ [SVProgressHUD showErrorWithStatus:@"请在iPhone的\"设置-隐私-定位服务\"中允许访问位置信息"]; NSLog(@"定位功能不可用"); }}
二、地理位置反编码
头文件
#import <BaiduMapAPI_Search/BMKGeocodeSearch.h>
编码
/** * 地理位置反编码 * * @param completion 城市名 */-(void)BaiDuMapGeoCodeSearch:(getCityName)cityBlock{ self.block = cityBlock; _codeSearch = [[BMKGeoCodeSearch alloc] init]; /** * 用完之后nil掉,会影响内存释放 */ _codeSearch.delegate = self; /** * 初始化逆地理编码类 */ BMKReverseGeoCodeOption * codeOption = [[BMKReverseGeoCodeOption alloc] init]; /** * 需要逆地理编码的坐标位置(经纬度) */ codeOption.reverseGeoPoint = self.location; [_codeSearch reverseGeoCode:codeOption]; }-(void)onGetReverseGeoCodeResult:(BMKGeoCodeSearch *)searcher result:(BMKReverseGeoCodeResult *)result errorCode:(BMKSearchErrorCode)error{ if (self.block && [result.addressDetail.city length]) { self.block(result.addressDetail.city); }}
三、地理位置正编码
代理的引用与释放
-(void)viewWillAppear:(BOOL)animated{ [self.mapView viewWillAppear]; self.mapView.delegate = self; _codeSearch.delegate = self;}-(void)viewWillDisappear:(BOOL)animated{ [self.mapView viewWillDisappear]; self.mapView.delegate = nil; self.codeSearch.delegate = nil;}编码
-(void)BaiDuMapGeoCodeSearch:(MapViewBlock)mapBlock{ _codeSearch = [[BMKGeoCodeSearch alloc] init]; BMKGeoCodeSearchOption * codeOption = [[BMKGeoCodeSearchOption alloc] init]; // codeOption.city = @"杭州市"; codeOption.address = @"需要编码的地理位置"; [self.codeSearch geoCode:codeOption]; self.block = mapBlock;}-(void)onGetGeoCodeResult:(BMKGeoCodeSearch *)searcher result:(BMKGeoCodeResult *)result errorCode:(BMKSearchErrorCode)error{ if (self.block && result.location.longitude != 0.0) { self.block(result.location); } }调用后的显示
头文件
#import <BaiduMapAPI_Map/BMKAnnotation.h>#import <BaiduMapAPI_Map/BMKPointAnnotation.h>#import <BaiduMapAPI_Map/BMKPinAnnotationView.h>
[self BaiDuMapGeoCodeSearch:^(CLLocationCoordinate2D coordinate) { //显示位置 self.mapView.centerCoordinate = coordinate; //添加标记 [self createPointAnnotationWithCoordinate:coordinate]; }];
/** * 只有在添加大头针的时候才会调用 */-(BMKAnnotationView *)mapView:(BMKMapView *)mapView viewForAnnotation:(id<BMKAnnotation>)annotation{ if ([annotation isKindOfClass:[BMKPointAnnotation class]]) { BMKPinAnnotationView * annotationView = [[BMKPinAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:@"annotation"]; annotationView.pinColor = BMKPinAnnotationColorPurple; // 从天上掉下效果 annotationView.animatesDrop = YES; // 不可拖拽 annotationView.draggable = YES; return annotationView; } return nil;}/** * 添加一个大头针 显示用户位置 * * @param location */-(BMKPointAnnotation *)createPointAnnotationWithCoordinate:(CLLocationCoordinate2D)coordate{ BMKPointAnnotation * point = [[BMKPointAnnotation alloc] init]; point.coordinate = coordate; [self.mapView addAnnotation:point]; return point;}
0 0
- iOS 百度地图 判断应用是否授权、地理位置的正反编码
- iOS 百度地图反编码地理位置信息
- iOS判断应用是否获取到系统相机 相册的授权 以及如何请求授权
- HTML5地理位置Geolocation以及百度地图应用
- Android-百度地图正反向编码功能实现
- 百度地图---查看地图上的地理位置
- IOS 百度地图定位,显示地理位置
- iOS之百度地图获取地理位置名称
- IOS 百度地图定位,显示地理位置
- 判断app是否安装百度地图,并启动导航 ios
- IOS网络笔记--地图内容2(正反向编码)
- 利用百度地图的API定位地理位置
- 基于百度地图的android地理位置获取
- 百度地图 经纬度和地理位置的转换
- 基于百度地图的地理位置选择功能
- 百度地图之地理位置和反地理编码搜索
- iOS 百度地图反编码
- iOS 仿照微信发送地理位置功能 [百度地图]
- SD卡插拔发生的广播
- ns3::UnixDatagramSocketFd::DoRecvmsg
- C++:类模板2(多个数中的最大数)
- 八数码问题有解的条件及其推广
- MATLAB中,可以用于计算数组或者矩阵元素总个数的方法
- iOS 百度地图 判断应用是否授权、地理位置的正反编码
- VIP的转移
- 高德地图_获取KEY的方法
- 使用Android获取的音乐文件数据库
- eclipse打不开闪退解决方式
- httpclient 请求http数据,json转map
- 副本集管理
- BZOJ 1832: [AHOI2008]聚会|Lca
- 基于用户投票的排名算法(五):威尔逊区间