Initial commit

This commit is contained in:
ifish
2017-08-15 16:59:01 +08:00
commit bdc83e07ef
5766 changed files with 423223 additions and 0 deletions
@@ -0,0 +1,10 @@
//
// BMKLocationComponent.h
// LocationComponent
//
// Created by Baidu on 3/31/14.
// Copyright (c) 2014 baidu. All rights reserved.
//
#import "BMKLocationService.h"
#import "BMKLocationVersion.h"
@@ -0,0 +1,110 @@
//
// BMKLocationService.h
// LocationComponent
//
// Created by Baidu on 3/28/14.
// Copyright (c) 2014 baidu. All rights reserved.
//
#import <Foundation/Foundation.h>
#import <BaiduMapAPI_Base/BMKUserLocation.h>
@class CLLocation;
/// 定位服务Delegate,调用startUserLocationService定位成功后,用此Delegate来获取定位数据
@protocol BMKLocationServiceDelegate <NSObject>
@optional
/**
*在将要启动定位时,会调用此函数
*/
- (void)willStartLocatingUser;
/**
*在停止定位后,会调用此函数
*/
- (void)didStopLocatingUser;
/**
*用户方向更新后,会调用此函数
*@param userLocation 新的用户位置
*/
- (void)didUpdateUserHeading:(BMKUserLocation *)userLocation;
/**
*用户位置更新后,会调用此函数
*@param userLocation 新的用户位置
*/
- (void)didUpdateBMKUserLocation:(BMKUserLocation *)userLocation;
/**
*定位失败后,会调用此函数
*@param error 错误号
*/
- (void)didFailToLocateUserWithError:(NSError *)error;
@end
@interface BMKLocationService : NSObject
/// 当前用户位置,返回坐标类型为当前设置的坐标类型
@property (nonatomic, readonly) BMKUserLocation *userLocation;
/// 定位服务Delegate,调用startUserLocationService定位成功后,用此Delegate来获取定位数据
@property (nonatomic, weak) id<BMKLocationServiceDelegate> delegate;
/**
*打开定位服务
*需要在info.plist文件中添加(以下二选一,两个都添加默认使用NSLocationWhenInUseUsageDescription)
*NSLocationWhenInUseUsageDescription 允许在前台使用时获取GPS的描述
*NSLocationAlwaysUsageDescription 允许永远可获取GPS的描述
*/
-(void)startUserLocationService;
/**
*关闭定位服务
*/
-(void)stopUserLocationService;
#pragma mark - 定位参数,具体含义可参考CLLocationManager相关属性的注释
/// 设定定位的最小更新距离。默认为kCLDistanceFilterNone
@property(nonatomic, assign) CLLocationDistance distanceFilter;
/// 设定定位精度。默认为kCLLocationAccuracyBest。
@property(nonatomic, assign) CLLocationAccuracy desiredAccuracy;
/// 设定最小更新角度。默认为1度,设定为kCLHeadingFilterNone会提示任何角度改变。
@property(nonatomic, assign) CLLocationDegrees headingFilter;
/// 指定定位是否会被系统自动暂停。默认为YES。只在iOS 6.0之后起作用。
@property(nonatomic, assign) BOOL pausesLocationUpdatesAutomatically;
///指定定位:是否允许后台定位更新。默认为NO。只在iOS 9.0之后起作用。设为YES时,Info.plist中 UIBackgroundModes 必须包含 "location"
@property(nonatomic, assign) BOOL allowsBackgroundLocationUpdates;
#pragma mark - 废弃接口
/**
* 2.9.0起废弃(使用distanceFilter属性替换),空实现
*
*在打开定位服务前设置
*指定定位的最小更新距离(米),默认:kCLDistanceFilterNone
*/
+ (void)setLocationDistanceFilter:(CLLocationDistance) distanceFilter __deprecated_msg("废弃方法(空实现),使用distanceFilter属性替换");
/**
* 2.9.0起废弃(使用distanceFilter属性替换),空实现
*
*获取当前 定位的最小更新距离(米)
*/
+ (CLLocationDistance)getCurrentLocationDistanceFilter __deprecated_msg("废弃方法(空实现),使用distanceFilter属性替换");
/**
* 2.9.0起废弃(使用desiredAccuracy属性替换),空实现
*
*在打开定位服务前设置
*设置定位精确度,默认:kCLLocationAccuracyBest
*/
+ (void)setLocationDesiredAccuracy:(CLLocationAccuracy) desiredAccuracy __deprecated_msg("废弃方法(空实现),使用desiredAccuracy属性替换");
/**
* 2.9.0起废弃(使用desiredAccuracy属性替换),空实现
*
*获取当前 定位精确度
*/
+ (CLLocationAccuracy)getCurrentLocationDesiredAccuracy __deprecated_msg("废弃方法(空实现),使用desiredAccuracy属性替换");
@end
@@ -0,0 +1,32 @@
//
// BMKLocationVersion.h
// LocationComponent
//
// Created by wzy on 15/9/9.
// Copyright © 2015年 baidu. All rights reserved.
//
#ifndef BMKLocationVersion_h
#define BMKLocationVersion_h
#import <UIKit/UIKit.h>
/**
*重要:
*location组件的版本和base组件的版本必须一致,否则不能正常使用
*/
/**
*获取当前地图API location组件 的版本号
*当前location组件版本 : 3.3.0
*return 返回当前API location组件 的版本号
*/
UIKIT_EXTERN NSString* BMKGetMapApiLocationComponentVersion();
/**
*检查location组件的版本号是否和base组件的版本号一致
*return 版本号一致返回YES
*/
UIKIT_EXTERN BOOL BMKCheckLocationComponentIsLegal();
#endif /* BMKLocationVersion_h */
@@ -0,0 +1,67 @@
定位功能:获取当前位置信息;
--------------------------------------------------------------------------------------
iOS 地图 SDK v3.3.0是适用于iOS系统移动设备的矢量地图开发包
--------------------------------------------------------------------------------------
地图SDK功能介绍(全功能开发包):
地图:提供地图展示和地图操作功能;
POI检索:支持周边检索、区域检索和城市内兴趣点检索;
地理编码:提供经纬度和地址信息相互转化的功能接口;
线路规划:支持公交、驾车、步行三种方式的线路规划;
覆盖物图层:支持在地图上添加覆盖物(标注、几何图形、热力图、地形图图层等),展示更丰富的LBS信息;
定位:获取当前位置信息,并在地图上展示(支持普通、跟随、罗盘三种模式);
离线地图:使用离线地图可节省用户流量,提供更好的地图展示效果;
调启百度地图:利用SDK接口,直接在本地打开百度地图客户端或WebApp,实现地图功能;
周边雷达:利用周边雷达功能,开发者可在App内低成本、快速实现查找周边使用相同App的用户位置的功能;
LBS云检索:支持查询存储在LBS云内的自有数据;
特色功能:提供短串分享、Place详情检索、热力图等特色功能,帮助开发者搭建功能更加强大的应用;
--------------------------------------------------------------------------------------
注:自v3.2.0起,百度地图iOS SDK全面支持HTTPS,需要广大开发者导入第三方openssl静态库:libssl.a和libcrypto.a(存放于thirdlib目录下)。
新 版 提 示 】
【 注 意 】
1、自v3.2.0起,百度地图iOS SDK全面支持HTTPS,需要广大开发者导入第三方openssl静态库:libssl.a和libcrypto.a(存放于thirdlib目录下)
添加方法:在 TARGETS->Build Phases-> Link Binary With Libaries中点击“+”按钮,在弹出的窗口中点击“Add Other”按钮,选择libssl.a和libcrypto.a添加到工程中 。
2、支持CocoaPods导入
pod setup //更新CocoPods的本地库
pod search BaiduMapKit //下载最新地图SDK
【 新 增 】
[ 基 础 地 图 ]
3D地图下,增加显示天空效果,无需设置
[ 工 具 ]
1.全面支持GCJ02坐标输入/输出,全局设置方法如下:
[BMKMapManager setCoordinateTypeUsedInBaiduMapSDK:BMK_COORDTYPE_COMMON];//默认为BD09LL坐标,且此方法仅在国内生效,国外均为WGS84坐标
2. 新增调启步行AR导航接口:openBaiduMapwalkARNavigation
[ LBS云]
云检索中,keywords 改为非必填项
【 优 化 】
优化个性化地图元素分类
【 修 复 】
少部分地铁线及室内图无法显示问题(v3.2.0引入的问题)。␍未下载全国离线基础包时,离线状态下全国(球)地图显示异常。␍␍