浏览器版本低!无法浏览完整内容,建议升级或更换浏览器。

iOS 地图SDK

百度地图SDK是一套应用程序接口, 通过调用地图SDK接口,开发者可以轻松访问百度地图的服务和数据,构建功能丰富、交互性强的地图类应用程序。

2015年4月9日

V2.7.0

2015年6月16日

V2.8.0

2015年7月16日

V2.8.1

2015年10月14日

V2.9.0

2015年11月4日

V2.9.1

2016年1月19日

V2.10.0

2016年3月25日

V2.10.2

2016年5月30日

V3.0.0

2016年10月14日

V3.1.0

2016年12月15日

V3.2.0

2016年12月23日

V3.2.1

2017年4月6日

V3.3.0

2017年5月10日

V3.3.1

2017年6月1日

V3.3.2

2017年8月3日

V3.3.4

2017年8月29日

V3.4.0

2017年10月19日

V3.4.2

新增

基础地图

1. 增加地图缩放等级到20级(10米);

2. 新增地理坐标与OpenGL坐标转换接口:

BMKMapView新增接口:

- (CGPoint)glPointForMapPoint:(BMKMapPoint)mapPoint;//将BMKMapPoint转换为OpenGL ES可以直接使用的坐标

-(CGPoint *)glPointsForMapPoints:(BMKMapPoint *)mapPoints count:(NSUInteger)count;// 批量将BMKMapPoint转换为OpenGL ES可以直接使用的坐标

3. 开放区域截图能力:

BMKMapView新增接口:

-(UIImage*) takeSnapshot:(CGRect)rect;// 获得地图区域区域截图

检索功能

1. 开放驾车线路规划,返回多条线路的能力:

BMKDrivingRouteResult中,routes数组有多条数据,支持检索结果为多条线路

2. 驾车线路规划结果中,新增路况信息字段:

BMKDrivingRoutePlanOption新增属性:

///驾车检索获取路线每一个step的路况,默认使用BMK_DRIVING_REQUEST_TRAFFICE_TYPE_NONE

@property (nonatomic) BMKDrivingRequestTrafficType drivingRequestTrafficType;

BMKDrivingStep新增属性:

///路段是否有路况信息

@property (nonatomic) BOOL hasTrafficsInfo;

///路段的路况信息,成员为NSNumber。0:无数据;1:畅通;2:缓慢;3:拥堵

@property (nonatomic, strong) NSArray* traffics;

3.废弃接口:

BMKDrivingRouteLine中,废弃属性:isSupportTraffic

计算工具

1. 新增点与圆、多边形位置关系判断方法:

工具类BMKGeometry.h中新增接口:

//判断点是否在圆内

UIKIT_EXTERN BOOL BMKCircleContainsPoint(BMKMapPoint point, BMKMapPoint center, double radius);

UIKIT_EXTERN BOOL BMKCircleContainsCoordinate(CLLocationCoordinate2D point, CLLocationCoordinate2D center, double radius);

//判断点是否在多边形内

UIKIT_EXTERN BOOL BMKPolygonContainsPoint(BMKMapPoint point, BMKMapPoint *polygon, NSUInteger count);

UIKIT_EXTERN BOOL BMKPolygonContainsCoordinate(CLLocationCoordinate2D point, CLLocationCoordinate2D *polygon, NSUInteger count);

2. 新增获取折线外某点到这线上距离最近的点:

工具类BMKGeometry.h中新增接口:

UIKIT_EXTERN BMKMapPoint BMKGetNearestMapPointFromPolyline(BMKMapPoint point, BMKMapPoint* polyline, NSUInteger count);

3、新增计算地理矩形区域的面积

工具类BMKGeometry.h中新增接口:

UIKIT_EXTERN double BMKAreaBetweenCoordinates(CLLocationCoordinate2D leftTop, CLLocationCoordinate2D rightBottom);

优化

1. 减少首次启动SDK时的数据流量;

2. 检索协议优化升级;

3. 优化Annotation拖拽方法(长按后开始拖拽);

修复

1. 修复在线地图和离线地图穿插使用时,地图内存不释放的bug;

2. 修复云检索过程中偶现崩溃的bug;

3. 修复地图在autolayout布局下无效的bug;

4. 修复BMKAnnotationView重叠的bug;

5. 修复定位偶现的crash问题;

新增

周边雷达

利用周边雷达功能,开发者可在App内低成本、快速实现查找周边使用相同App的用户位置的功能。

新增周边雷达管理类:BMKRadarManager

新增周边雷达protocol:BMKRadarManagerDelegate

1.提供单次位置信息上传功能;

- (BOOL)uploadInfoRequest:(BMKRadarUploadInfo*) info;

2.提供位置信息连续自动上传功能;

- (void)startAutoUpload:(NSTimeInterval) interval;//启动自动上传用户位置信息

- (void)stopAutoUpload;//停止自动上传用户位置信息

3.提供周边位置信息检索功能;

- (BOOL)getRadarNearbySearchRequest:(BMKRadarNearbySearchOption*) option;

4.提供清除我的位置信息功能

- (BOOL)clearMyInfoRequest;

基础地图

1.新增折线多段颜色绘制能力;

1)BMKPolyline中新增接口:

///纹理索引数组

@property (nonatomic, strong) NSArray *textureIndex;

//分段纹理绘制,根据指定坐标点生成一段折线

+ (BMKPolyline *)polylineWithPoints:(BMKMapPoint *)points count:

(NSUInteger)count textureIndex:(NSArray*) textureIndex;

//根据指定坐标点生成一段折线

+ (BMKPolyline *)polylineWithCoordinates:(CLLocationCoordinate2D *)coords count:

(NSUInteger)count textureIndex:(NSArray*) textureIndex;

2)BMKPolylineView新增接口

/// 是否分段纹理绘制(突出显示)

@property (nonatomic, assign) BOOLisFocus;

2.可以修改BMKPolyline、BMKPolygon、BMKCircle、BMKArcline的端点及纹理数据

3.新增地图强制刷新功能:

BMKMapView新增接口:

- (void)mapForceRefresh;//强制刷新mapview

检索功能

1.在线建议检索结果开放POI经纬度及UID信息;

BMKSuggestionResult新增接口:

///poiId列表,成员是NSString

@property (nonatomic, strong) NSArray* poiIdList;

///pt列表,成员是:封装成NSValue的CLLocationCoordinate2D

@property (nonatomic, strong) NSArray* ptList;

2.更新检索状态码

BMKSearchErrorCode中新增:

BMK_SEARCH_NETWOKR_ERROR,///网络连接错误

BMK_SEARCH_NETWOKR_TIMEOUT,///网络连接超时

BMK_SEARCH_PERMISSION_UNFINISHED,///还未完成鉴权,请在鉴权通过后重试

计算工具

1.新增调启百度地图客户端功能;

1)调起百度地图客户端 – poi调起

新增调起百度地图poi管理类:BMKOpenPoi

//调起百度地图poi详情页面

+ (BMKOpenErrorCode)openBaiduMapPoiDetailPage:(BMKOpenPoiDetailOption *) option;

//调起百度地图poi周边检索页面

+ (BMKOpenErrorCode)openBaiduMapPoiNearbySearch:(BMKOpenPoiNearbyOption *) option;

2)调起百度地图客户端 – 路线调起

新增调起百度地图路线管理类类:BMKOpenRoute

//调起百度地图步行路线页面

+ (BMKOpenErrorCode)openBaiduMapWalkingRoute:(BMKOpenWalkingRouteOption *) option;

//调起百度地图公交路线页面

+ (BMKOpenErrorCode)openBaiduMapTransitRoute:(BMKOpenTransitRouteOption *) option;

//调起百度地图驾车路线检索页面

+ (BMKOpenErrorCode)openBaiduMapDrivingRoute:(BMKOpenDrivingRouteOption *) option;

2.新增本地收藏夹功能;

新增收藏点信息类:BMKFavPoiInfo

新增收藏点管理类:BMKFavPoiManager

新增接口:

//添加一个poi点

- (NSInteger)addFavPoi:(BMKFavPoiInfo*) favPoiInfo;

//获取一个收藏点信息

- (BMKFavPoiInfo*)getFavPoi:(NSString*) favId;

//获取所有收藏点信息

- (NSArray*)getAllFavPois;

//更新一个收藏点

- (BOOL)updateFavPoi:(NSString*) favIdfavPoiInfo:(BMKFavPoiInfo*) favPoiInfo;

//删除一个收藏点

- (BOOL)deleteFavPoi:(NSString*) favId;

//清空所有收藏点

- (BOOL)clearAllFavPois;

修复

1. 修复setMinLevel、setMaxLevel生效的是整型的问题;

2. 修复setRegion精准度不高的问题;

3. 修复POI检索结果,pageNum不正确的问题;

4. 修复定位结果海拔始终为0的问题;

5. 修复反地理编码检索在特定情况下,收不到回调的问题;

修复

修复了升级IOS 9 beta 3系统后闪退的问题

提示

1、由于iOS9改用更安全的https,为了能够在iOS9中正常使用地图SDK,请在"Info.plist"中进行如下配置,否则影响SDK的使用。

    <key>NSAppTransportSecurity</key>
    <dict>
        <key>NSAllowsArbitraryLoads</key>
        <true/>
    </dict>

2、如果在iOS9中使用了调起百度地图客户端功能,必须在"Info.plist"中进行如下配置,否则不能调起百度地图客户端。

    <key>LSApplicationQueriesSchemes</key>
    <array>
        <string>baidumap</string>
    </array>
新增/废弃

基础地图

1. 适配iOS 9和 iPhone 6s

2. 新增点聚合功能开源

增加点聚合功能,并在demo中开放源代码,具体请参考demo

3. 支持线绘制功能扩展:支持分段纹理绘制,分段颜色绘制。

BMKOverlayGLBasicView新增属性:

/// 是否纹理图片平铺绘制,默认NO

@property (assign, nonatomic) BOOL tileTexture;

/// 纹理图片是否缩放(tileTexture为YES时生效),默认NO

@property (assign, nonatomic) BOOL keepScale;

BMKOverlayView新增属性:

/// 使用分段颜色绘制时,必须设置(内容必须为UIColor)

@property (nonatomic, strong) NSArray *colors;

4. 支持底图标注控制

BMKMapView 新增方法:showMapPoi

///设定地图是否显示底图poi标注,默认YES

@property(nonatomic, assign) BOOL showMapPoi;

5. 新增TileOverlay图层,该图层支持开发者添加自有瓦片数据,包括在线下载和本地加载两种方式。(使用方法请参考demo)。

新增类: BMKTileLayer、BMKURLTileLayer、BMKSyncTileLayer、BMKTileLayerView

6. BMKMapStatus新增只读属性:visibleMapRect

7. BMKOfflineMap废弃扫描导入离线包接口,不再支持离线包导入

废弃接口:

- (BOOL)scan:(BOOL)deleteFailedr __deprecated_msg("废弃方法(空实现),自2.9.0起废弃,不支持扫描导入离线包");

8. 更新离线城市BMKOLUpdateElement status状态

检索功能

反geo检索结果新增商圈

BMKReverseGeoCodeResult新增属性:

///商圈名称

@property (nonatomic, strong) NSString* businessCircle;

定位功能

废弃接口(空实现):

+ (void)setLocationDistanceFilter:(CLLocationDistance) distanceFilter __deprecated_msg("废弃方法 (空实现),使用distanceFilter属性替换");

+ (CLLocationDistance)getCurrentLocationDistanceFilter __deprecated_msg("废弃方法(空实现),使用distanceFilter属性替换");

+ (void)setLocationDesiredAccuracy:(CLLocationAccuracy) desiredAccuracy __deprecated_msg("废弃方法(空实现),使用desiredAccuracy属性替换");

+ (CLLocationAccuracy)getCurrentLocationDesiredAccuracy __deprecated_msg("废弃方法(空实现),使用desiredAccuracy属性替换");

新增属性:

/// 设定定位的最小更新距离。默认为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;

修复

1、修复不加载@3x图片的问题;

2、修复公交路线规划,换乘方案内容缺失的问题;

3、修复iOS 8.2系统版本以前,AnnotationView 中加入约束会卡住的问题;

4、修复使用xcode 7编译时SDK产生的编译警告;

5、修复BMKMapView在特定的使用条件下crash的问题

新增

检索功能

新增类:BMKPoiAddressInfo(POI门址信息类)

BMKPoiResult新增接口:

///是否返回的有门址信息列表

@property (nonatomic, assign) BOOL isHavePoiAddressInfoList;

///门址信息列表,成员是BMKPoiAddrsInfo(当进行的是poi城市检索,且检索关键字是具体的门址信息(如在北京搜"上地十街10号")时,会返回此信息)

@property (nonatomic, strong) NSArray* poiAddressInfoList;

修复

1、修复iOS9后台定位问题;

2、修复sug检索特殊case引起的crash的问题;

3、修复自定义AnnotationView,启用3D效果后(enabled3D=YES)点击标注没有响应的问题;

4、修复获取离线地图包大小信息时,包大小错误的问题。

新增

基础地图

1、新增3D-Touch的回调

BMKMapView 新增属性:

/// 设定地图是否回调force touch事件,默认为NO,仅适用于支持3D Touch的情况,开启后会回调

- mapview:onForceTouch:force:maximumPossibleForce:

@property(nonatomic) BOOL forceTouchEnabled;

BMKMapViewDelegate 新增:

- (void)mapview:(BMKMapView *)mapView onForceTouch:(CLLocationCoordinate2D)coordinate force:(CGFloat)force maximumPossibleForce:(CGFloat)maximumPossibleForce;

2、新增个性化地图模板,支持黑夜模式、清新蓝等风格地图

BMKMapView 新增方法:

+ (void)customMapStyle:(NSString*) customMapStyleJsonFilePath;

3、新增设置地图边界区域的方法:

BMKMapView 新增属性:

///地图预留边界,默认:UIEdgeInsetsZero。设置后,会根据mapPadding调整logo、比例尺、指南针的位置,以及targetScreenPt(BMKMapStatus.targetScreenPt)

@property (nonatomic) UIEdgeInsets mapPadding;

4、开放显示21级地图,但不支持卫星图、热力图、交通路况图层的21级地图。

5、BMKMapType新增BMKMapTypeNone类型:不加载百度地图瓦片,显示为空白地图。和瓦片图功能配合使用,减少数据加载,提升显示速度,节省流量

6、新增限制地图的显示范围的方法

BMKMapView 新增属性:

@property (nonatomic) BMKCoordinateRegion limitMapRegion;

7、支持调整百度logo位置,使用枚举类型控制显示的位置,共支持6个位置

BMKMapView 新增属性:

@property (nonatomic) BMKLogoPosition logoPosition;

8、新增禁用所有手势功能

BMKMapView 新增属性:

@property(nonatomic) BOOL gesturesEnabled;

9、新增获取指南针大小的方法,并支持更换指南针图片

BMKMapView 新增属性、方法:

@property (nonatomic, readonly) CGSize compassSize;

- (void)setCompassImage:(UIImage *)image;

10、新增获取比例尺大小的方法

BMKMapView 新增属性:

/// 比例尺的宽高

@property (nonatomic, readonly) CGSize mapScaleBarSize;

11、增加自定义定位精度圈的填充颜色和边框

BMKLocationViewDisplayParam 新增属性:

///精度圈填充颜色

@property (nonatomic, strong) UIColor *accuracyCircleFillColor;

///精度圈边框颜色

@property (nonatomic, strong) UIColor *accuracyCircleStrokeColor;

12、新增获取矩形范围内所有marker点的方法

BMKMapView 新增方法:

- (NSArray *)annotationsInCoordinateBounds:(BMKCoordinateBounds) bounds;

13、BMKMapView废弃接口:

+(void)willBackGround;//逻辑由地图SDK控制

+(void)didForeGround;//逻辑由地图SDK控制

检索功能

1、新增骑行规划检索

BMKRouteSearch 新增骑行路线检索方法:

- (BOOL)ridingSearch:(BMKRidingRoutePlanOption*) ridingRoutePlanOption;

BMKRouteSearchDelegate 新增返回骑行检索结果回调:

- (void)onGetRidingRouteResult:(BMKRouteSearch*)searcher result:(BMKRidingRouteResult*)result errorCode:(BMKSearchErrorCode)error;

新增类:

BMKRidingRoutePlanOption 骑行查询基础信息类

BMKRidingRouteResult 骑行路线结果类

2、新增行政区边界数据检索

新增类:

BMKDistrictSearch 行政区域搜索服务类

BMKDistrictSearchDelegate 行政区域搜索结果Delegate

BMKDistrictSearchOption 行政区域检索信息类

BMKDistrictResult 行政区域检索结果类

3、新增驾车、公交、骑行、步行路径规划短串分享

BMKShareURLSearch 新增获取路线规划短串分享方法:

- (BOOL)requestRoutePlanShareURL:(BMKRoutePlanShareURLOption

  • )routePlanShareUrlSearchOption;

BMKShareURLSearchDelegate 新增返回路线规划分享url结果回调:

- (void)onGetRoutePlanShareURLResult:(BMKShareURLSearch *)searcher result:(BMKShareURLResult *)result errorCode:(BMKSearchErrorCode)error;

计算工具

支持调起百度地图客户端骑行、步行导航功能(百度地图App 8.8 以上版本支持)

BMKNavigation 新增方法:

//调起百度地图客户端骑行导航页面

+ (BMKOpenErrorCode)openBaiduMapRideNavigation:(BMKNaviPara*)para;

//调起百度地图客户端步行导航页面

+ (BMKOpenErrorCode)openBaiduMapWalkNavigation:(BMKNaviPara*)para;

修复

1、修复只使用检索时,首次鉴权失败(网络问题),再次发起鉴权无效的问题;

2、修复使用地图前使用离线地图,首次安装应用地图白屏的问题;

3、修复拖拽地图时,点击到标注,会触发didSelectAnnotationView:的回调,不回调regionDidChangeAnimated的问题

4、修复BMKTransitStep 里的stepType中地铁和公交未做区分的问题

新增/废弃

基础地图

1、新增个性化地图道路文字颜色设置(包括高速及国道、城市主路、普通道路)

变更

检索功能

1、行政区边界数据检索:为兼容不连续的行政区,行政区边界数据检索结果(BMKDistrictResult),行政区边界坐标点变更如下,原接口作废

/// 行政区边界直角地理坐标点数据(NSString数组,字符串数据格式为: @"x,y;x,y")

@property (nonatomic, strong) NSArray *paths;

优化

1、优化瓦片图性能:支持同时下载多张瓦片图、优化下载中断的重加载机制

修复

1、修复sug检索某些特殊case,city、district为空的情况

2、修复同步瓦片图内存问题

3、修复在iOS6运行crash的问题

4、修复 CVHttpResponse::ReadData 极其偶现的crash

5、修复某些case下,点击polyline不会回调的问题

6、修复调起客户端驾车导航后,关闭导航后,不会弹出“是否返回原应用”提示的问题

自v3.0.0起,iOS SDK全面支持ipv6网络

新增

基础地图

1、新增室内地图功能

新增室内地图信息类:BMKBaseIndoorMapInfo

BMKMapView新增接口:

/// 设定地图是否显示室内图(包含室内图标注),默认不显示

@property (nonatomic, assign) BOOL baseIndoorMapEnabled;

/// 设定室内图标注是否显示,默认YES,仅当显示室内图(baseIndoorMapEnabled为YES)时生效

@property (nonatomic, assign) BOOL showIndoorMapPoi;

// 设置室内图楼层

- (BMKSwitchIndoorFloorError)switchBaseIndoorMapFloor:(NSString*)strFloor withID:(NSString*)strID;

// 获取当前聚焦的室内图信息

- (BMKBaseIndoorMapInfo*)getFocusedBaseIndoorMapInfo;

BMKMapViewDelegate新增接口:

//地图进入/移出室内图会调用此接口

- (void)mapview:(BMKMapView *)mapView baseIndoorMapWithIn:(BOOL)flag baseIndoorMapInfo:(BMKBaseIndoorMapInfo *)info;

2、普通地图与个性化地图切换可以自由切换,BMKMapView新增接口:

+ (void)enableCustomMapStyle:(BOOL) enable;

3、个性化地图配置json文件出错时,打印log提示

4、设置mapPadding时可控制地图中心是否跟着移动,BMKMapView新增接口:

@property (nonatomic) BOOL updateTargetScreenPtWhenMapPaddingChanged;

5、BMKMapPoi中新增属性:

///点标注的uid,可能为空

@property (nonatomic,strong) NSString* uid;

检索功能

1、新增室内POI检索

新增室内POI检索参数信息类:BMKPoiIndoorSearchOption

新增室内POI搜索结果类:BMKPoiIndoorResult

新增室内POI信息类:BMKPoiIndoorInfo

BMKPoiSearch新增接口:

//poi室内检索

- (BOOL)poiIndoorSearch:(BMKPoiIndoorSearchOption*)option;

BMKPoiSearchDelegate新增接口:

//返回POI室内搜索结果

- (void)onGetPoiIndoorResult:(BMKPoiSearch*)searcher result:

(BMKPoiIndoorResult*)poiIndoorResult errorCode:(BMKSearchErrorCode)errorCode;

2、驾车路线规划结果新增3个属性:打车费用信息、拥堵米数、红绿灯个数,BMKDrivingRouteLine新增接口:

///路线红绿灯个数

@property (nonatomic, assign) NSInteger lightNum;

///路线拥堵米数,发起请求时需设置参数 drivingRequestTrafficType = BMK_DRIVING_REQUEST_TRAFFICE_TYPE_PATH_AND_TRAFFICE 才有值

@property (nonatomic, assign) NSInteger congestionMetres;

///路线预估打车费(元),负数表示无打车费信息

@property (nonatomic, assign) NSInteger taxiFares;

3、busline检索新增参考票价和上下线行信息,BMKBusLineResult新增接口:

///公交线路方向

@property (nonatomic, strong) NSString* busLineDirection;

///起步票价

@property (nonatomic, assign) CGFloat basicPrice;

///全程票价

@property (nonatomic, assign) CGFloat totalPrice;

4、poi检索结果新增是否有全景信息,BMKPoiInfo新增接口:

@property (nonatomic, assign) BOOL panoFlag;

计算工具

1、新增调起百度地图客户端全景功能

2、新增调起百度地图全景类:BMKOpenPanorama

3、新增调起百度地图全景参数类:BMKOpenPanoramaOption

4、新增调起百度地图全景delegate:BMKOpenPanoramaDelegate

修复 

1、修复反复添加移除离线瓦片图时偶现的crash问题

2、修复上传AppStore时提示访问私有api:-setOverlayGeometryDelegate:的问题

3、修复地图网络解析时偶现的crash问题

系统支持

经全面测试,自iOS 3.0版起,已支持iOS10

新增 

【 新 增 】

基础地图

1、开放高清4K地图显示(无需设置)

2、瓦片图新增异步加载方法:

新增异步加载类:BMKAsyncTileLayer

3、新增地图渲染完成回调方法:

- (void)mapViewDidFinishRendering:(BMKMapView *)mapView;

4、新增定位显示类型:BMKUserTrackingModeHeading(在普通定位模式的基础上显示方向)

检索功能

1、新增室内路径规划

BMKRouteSearch新增发起室内路径规划接口:

- (BOOL)indoorRoutePlanSearch:(BMKIndoorRoutePlanOption*) indoorRoutePlanOption;

BMKRouteSearchDelegate新增室内路径规划结果回调:

- (void)onGetIndoorRouteResult:(BMKRouteSearch*)searcher result:(BMKIndoorRouteResult*)result errorCode:(BMKSearchErrorCode)error;

新增室内路径规划检索参数类:BMKIndoorRoutePlanOption

新增室内路径规划检索结果类:BMKIndoorRouteResult

2、增加新的公共交通线路规划(支持同城和跨城)

BMKRouteSearch增加新的公共交通线路规划接口:

- (BOOL)massTransitSearch:(BMKMassTransitRoutePlanOption*)routePlanOption; BMKRouteSearchDelegate增加新的公共交通线路规划结果回调:

- (void)onGetMassTransitRouteResult:(BMKRouteSearch*)searcher result: (BMKMassTransitRouteResult*)result errorCode:(BMKSearchErrorCode)error;

增加新的公共交通线路规划检索参数类:BMKMassTransitRoutePlanOption

增加新的公共交通线路规划检索结果类:BMKMassTransitRouteResult

LBS云检索

1、新增云RGC检索功能

BMKCloudSearch新增发起云RGC检索接口:

- (BOOL)cloudReverseGeoCodeSearch:(BMKCloudReverseGeoCodeSearchInfo*)searchInfo;

BMKCloudSearchDelegate新增云RGC检索结果回调:

- (void)onGetCloudReverseGeoCodeResult:(BMKCloudReverseGeoCodeResult*)cloudRGCResult searchType:(BMKCloudSearchType) type errorCode:(NSInteger) errorCode;

新增云RGC检索参数类:BMKCloudReverseGeoCodeSearchInfo

新增云RGC检索结果类:BMKCloudReverseGeoCodeResult

优化

1、优化Marker加载性能:添加Marker和加载大量Marker时,性能大幅提高。

2、优化地图内存

修复

1、长按地图某区域,OnLongClick会被不停调用的问题

2、绘制弧线,特殊case提示画弧失败的问题

3、一次点击事件,点击地图空白处回调和点击覆盖物回调都会调用的问题

新版提示

1、自v3.2.0起,全面支持HTTPS

2、自v3.2.0起,地图引擎全面升级,主要升级特征有: 渲染架构技术升级,OpenGL ES从1.0升级到2.0 地图数据加载升级,加载性能大幅提升

新增

[ 检 索 功 能 ]

1、建议检索支持港澳台;建议检索可控制只返回指定城市的检索结果 BMKSuggestionSearchOption新增属性: //是否只返回指定城市检索结果(默认:NO)(提示:海外区域暂不支持设置cityLimit) @property (nonatomic, assign) BOOL cityLimit;

2、反地址编码结果BMKReverseGeoCodeResult新增属性: //结合当前位置POI的语义化结果描述 @property (nonatomic, strong) NSString* sematicDescription;

优化

1、建议检索和反地址编码检索服务升级,提供更加优质的服务

修复

1、修复国外定位偏移的问题

2、修复特殊情况下,移除BMKGroundOverlay时的问题

新版提示

1、自v3.2.0起,全面支持HTTPS

2、自v3.2.0起,地图引擎全面升级,主要升级特征有:渲染架构技术升级,OpenGL ES从1.0升级到2.0;地图数据加载升级,加载性能大幅提升

修 复

修复下载离线地图时,delegate方法返回state错误问题

新增

[ 基 础 地 图 ]

1. 3D地图下,增加显示天空效果,无需设置

[ 工 具 ]

1.全面支持GCJ02坐标输入/输出,

全局设置方法如下:[BMKMapManager setCoordinateTypeUsedInBaiduMapSDK:BMK_COORDTYPE_COMMON];

//默认为BD09LL坐标,且此方法仅在国内生效

2. 新增调启步行AR导航接口:openBaiduMapwalkARNavigation

[ LBS 云 ]

云检索中,keywords 改为非必填项

优化

优化个性化地图元素分类

修复

1.少部分地铁线及室内图无法显示问题(v3.2.0版本引入的问题)。

2.未下载全国离线基础包时,离线状态下全国(球)地图显示异常。


新增

[ 检 索 ]

逆地理编码返回结果新增2个属性:cityCode(城市编码) 和adCode(行政区域编码)

修复

1.增加重试机制,优化鉴权时长

2.解决Xcode8.3编译时出现大量warning的问题

3.swift Demo:swift语言升级为 swift v3.1,优化升级swift Demo

修复

修复个性化地图在部分使用场景下,不显示的问题。(受影响版本v3.3.0、v3.3.1)

自v3.3.2起,设置个性化地图,需要先设置 [BMKMapView enableCustomMapStyle:Yes]

新增

[ 定 位 ]

1.BMKLocationViewDisplayParam类中增加 canShowCallOut 属性,用于设定用户点击定位图标时,是否弹出paopaoView。

2.BMKLocationViewDisplayParam类中增加 locationViewHierarchy 属性,用于设定locationView始终处于视图层级的最下层或最上层。

修复

1.修复添加Annotation时,Overlay偶尔绘制不完整的BUG。

2.修复Swift调用SDK时,cityCode countryCode等字段类型不兼容的问题。

3.保证新添加的Annotation会在mapView的视图层级的上层。

4.DEMO中绘制路径规划结果时,修复计算显示区域的BUG。

新版提示

1、百度地图iOS SDK v3.4.0及以上版本仅支持iOS 7.0及以上系统。

2、自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添加到工程中 。

3、支持CocoaPods导入

pod setup //更新CocoPods的本地库

pod search BaiduMapKit //查看最新地图SDK

新增

[ 基础地图 ]

1.新增当双击手势放大地图时,可以设置地图中心点是否移动至点击处的属性

BMKMapView新增:

///双击手势放大地图时, 设置为YES, 地图中心点移动至点击处; 设置为NO,地图中心点不变;默认为YES;

@property(nonatomic, getter=isChangeCenterWithDoubleTouchPointEnabled) BOOL ChangeCenterWithDoubleTouchPointEnabled;

2.支持标注锁定在屏幕固定位置

BMKPointAnnotation新增:

///Annotation固定在指定屏幕位置, 必须与screenPointToLock一起使用。

注意:拖动Annotation isLockedToScreen会被设置为false。

///若isLockedToScreen为true,拖动地图时annotaion不会跟随移动;

///若isLockedToScreen为false,拖动地图时annotation会跟随移动。

@property (nonatomic, assign) BOOL isLockedToScreen;

///标注在屏幕中锁定的位置,注意:地图初始化后才能设置screenPointToLock。可以在地图加载完成的回调方法:mapViewDidFinishLoading中使用此属性。

@property (nonatomic, assign) CGPoint screenPointToLock;

3.新增接口:设定地理范围在屏幕中的显示区域

BMKMapView新增:

/**

根据当前mapView的窗口大小,预留insets指定的边界区域后,将mapRect指定的地理范围显示在剩余的区域内,并尽量充满

@param mapRect 要显示的地图范围,用直角坐标系表示

@param insets 屏幕四周预留的最小边界(mapRect的内容不会显示在该边界范围内)

@param animate 是否采用动画效果

/

- (void)fitVisibleMapRect:(BMKMapRect)mapRect edgePadding:(UIEdgeInsets)insets withAnimated:(BOOL)animate;

4. 支持世界地图循环显示

优化

1.解决反复创建和销毁mapView时内存泄漏的问题。

2.对拖动标注时的弹跳动画效果进行优化。

3.修复mapView调用selectAnnotation方法时,回调didSelectAnnotationView不调用的问题。

4.修复行政区域检索福建和浙江区域没有返回数据的问题。

5.修复部分使用场景下,设置mapPadding时,overlay位置偏移的问题。

6.修复部分使用场景下,加载mapView闪黑屏的问题。

7.修复室内图更新不及时的问题。

新版提示

1、百度地图iOS SDK v3.4.0及以上版本仅支持iOS 7.0及以上系统。

2、自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添加到工程中 。

3、支持CocoaPods导入

pod setup //更新CocoPods的本地库

pod search BaiduMapKit //查看最新地图SDK

修复

1.修复多页面多地图场景下,切换页面导致的crash问题。

2.修复检索对象对delegate的强引用问题。

3.修复在一些罕见场景下,Bugly报告的crash问题。

4.修复第一次通过setBuildingsEnabled接口设置不显示3D楼块效果失效的BUG。

优化

1.删除annotation后,不再删除其对应的annotationView的subView。开发者dequeue出可重用的annotationView后,为了避免内容堆叠问题,可以自行去避免,如remove subview或者使用不同的reuseIdentifier等。

2.每个reuseIdentifier可缓存多个annotationView,当开发者removeAnnotation时,SDK会将对应的annotationView加入缓存队列。