FMKMapView Class Reference

Inherits from GLKView
Declared in FMKMapView.h
FMKMapView.mm

Other Methods

  map

当前加载的地图节点 地图节点用于管理层节点等子项 通过该节点可以进行子节点管理 该节点为只读对象,不支持创建

@property (nonatomic, readonly) FMKMap *map

Discussion

当前加载的地图节点 地图节点用于管理层节点等子项 通过该节点可以进行子节点管理 该节点为只读对象,不支持创建

Declared In

FMKMapView.h

  showCompass

是否显示指北针

@property (nonatomic, assign) BOOL showCompass

Discussion

是否显示指北针

Declared In

FMKMapView.h

  labelCoverPriority

label和facility优先级设置

@property (nonatomic) BOOL labelCoverPriority

Discussion

label和facility优先级设置

Declared In

FMKMapView.h

  mapDelegate

地图代理

@property (nonatomic, weak, nullable) id<FMKMapViewDelegate> mapDelegate

Discussion

地图代理

Declared In

FMKMapView.h

  displayGroupIDs

显示楼层id的数组

@property (nonatomic, strong) NSArray<NSString*> *displayGroupIDs

Discussion

显示楼层id的数组

Declared In

FMKMapView.h

  enable3D

是否3D显示

@property (nonatomic, assign) BOOL enable3D

Discussion

是否3D显示

Declared In

FMKMapView.h

  backgroundColor

设置地图背景色

@property (nonatomic, strong) UIColor *backgroundColor

Discussion

设置地图背景色

Declared In

FMKMapView.h

  rotation

设定旋转角度

@property (nonatomic, assign) CGFloat rotation

Discussion

设定旋转角度

Declared In

FMKMapView.h

  lazyCreateModeEnabled

开启模型懒加载模式,默认不开启:NO 当地图数据较大时,建议开启,可提高地图流畅性 当数据较小时,不建议开启,具体视自身数据量及显示效果而定

@property (nonatomic, getter=isLazyCreateModeEnabled) BOOL lazyCreateModeEnabled

Discussion

开启模型懒加载模式,默认不开启:NO 当地图数据较大时,建议开启,可提高地图流畅性 当数据较小时,不建议开启,具体视自身数据量及显示效果而定

Declared In

FMKMapView.h

  displayName

模型名称显示字段切换,目前包括name字段和enamed字段

@property (nonatomic) FMKLabelField displayName

Discussion

模型名称显示字段切换,目前包括name字段和enamed字段

Warning: 字段数据从fmap数据中读取,同一个模型可能只有name字段有内容,如需编辑可以联系蜂鸟云工作人员编辑英文字段。默认显示name字段,即模型的name属性,设置为YES后展示ename字段

Declared In

FMKMapView.h

  currentThemePath

地图当前使用的主题路径

@property (nonatomic, readonly) NSString *currentThemePath

Discussion

地图当前使用的主题路径

Declared In

FMKMapView.h

  gestureEnableController

地图手势控制器 所有手势开关默认开启

@property (nonatomic, strong, readonly) FMKMapGestureEnableController *gestureEnableController

Discussion

地图手势控制器 所有手势开关默认开启

Declared In

FMKMapView.h

  animationEnableController

地图手势动画控制器,常用的平移动画操作

@property (nonatomic, strong, readonly) FMKAnimationEnableController *animationEnableController

Discussion

地图手势动画控制器,常用的平移动画操作

Declared In

FMKMapView.h

– initWithFrame:ID:delegate:autoUpgrade:

通过ID初始化地图视图 此方法内部加载地图为异步加载,只能在地图加载完成回调触发后调用地图api

- (instancetype)initWithFrame:(CGRect)frame ID:(NSString *)mapID delegate:(id<FMKMapViewDelegate>)target autoUpgrade:(BOOL)autoUpgrade

Parameters

frame

frame

mapID

地图ID

target

地图代理

autoUpgrade

是否自动更新地图数据,若开启自动更新,则地图在加载过程中会自动加载服务器最新数据,自动更新也受- (BOOL)fmapHaveNewVersion:回调方法影响

Return Value

mapView

Discussion

通过ID初始化地图视图 此方法内部加载地图为异步加载,只能在地图加载完成回调触发后调用地图api

Declared In

FMKMapView.h

– initWithFrame:path:delegate:

初始化地图,通过保存在本地的地图数据加载 此方法内部加载地图为异步加载,只能在地图加载完成回调触发后调用地图api

- (instancetype)initWithFrame:(CGRect)frame path:(NSString *)dataPath delegate:(id<FMKMapViewDelegate>)target

Parameters

frame

frame

dataPath

地图数据存储位置

target

地图代理

Discussion

初始化地图,通过保存在本地的地图数据加载 此方法内部加载地图为异步加载,只能在地图加载完成回调触发后调用地图api

Declared In

FMKMapView.h

– initWithFrame:offlinePath:delegate:

纯离线方式加载本地数据 此方法为同步加载地图方式,可在初始化完成后直接调用地图api

- (instancetype)initWithFrame:(CGRect)frame offlinePath:(NSString *)offlinePath delegate:(id<FMKMapViewDelegate>)target

Parameters

frame

frame

offlinePath

离线数据路径

target

地图代理

Discussion

纯离线方式加载本地数据 此方法为同步加载地图方式,可在初始化完成后直接调用地图api

Declared In

FMKMapView.h

– initWithFrame:ID:delegate:customUrl:update:

通过用户指定url初始化地图视图 此方法内部加载地图为异步加载,只能在地图加载完成回调触发后调用地图api

- (instancetype)initWithFrame:(CGRect)frame ID:(NSString *)mapID delegate:(id<FMKMapViewDelegate>)target customUrl:(NSString *)url update:(BOOL)update

Parameters

frame

frame

mapID

地图ID

target

地图代理

update

是否更新地图数据

customUrl

用户指定地图数据加载地址

Return Value

mapView

Discussion

通过用户指定url初始化地图视图 此方法内部加载地图为异步加载,只能在地图加载完成回调触发后调用地图api

Declared In

FMKMapView.h

– transformMapWithID:

通过地图ID切换地图

- (void)transformMapWithID:(NSString *)mapID

Parameters

mapID

地图ID

Discussion

通过地图ID切换地图

该方法会请求并加载新的地图数据,在加载过程中触发相应的回调方法 地图数据的自动更新受mapView初始化时的autoUpgrade参数和地图数据更新信息回调方法影响

若对应地图不存在,该方法直接下载并加载最新地图数据

Declared In

FMKMapView.h

– transformMapWithDataPath:

通过地图数据路径切换地图

- (void)transformMapWithDataPath:(NSString *)dataPath

Parameters

dataPath

地图数据存储路径

Discussion

通过地图数据路径切换地图

Declared In

FMKMapView.h

– showZoomControlWithOffset:enableShow:enableSeleted:

在地图上显示缩放控制控件

- (void)showZoomControlWithOffset:(CGPoint)offset enableShow:(BOOL)show enableSeleted:(BOOL)enableSelected

Parameters

offset

偏移位置

show

是否显示

enableSelected

是否允许点击

Discussion

在地图上显示缩放控制控件

Declared In

FMKMapView.h

– showDisplayGroupViewWithOffset:enableShow:enableSeleted:

在地图上显示楼层选择控件

- (void)showDisplayGroupViewWithOffset:(CGPoint)offset enableShow:(BOOL)show enableSeleted:(BOOL)enableSelected

Parameters

offset

偏移位置

show

是否显示

enableSelected

是否允许点击

Discussion

在地图上显示楼层选择控件

Declared In

FMKMapView.h

– showDisplayFloorViewWithOffset:enableShow:enableSeleted:

在地图上显示楼层选择控件

- (void)showDisplayFloorViewWithOffset:(CGPoint)offset enableShow:(BOOL)show enableSeleted:(BOOL)enableSelected

Parameters

offset

偏移位置

show

是否显示

enableSelected

是否允许点击

Discussion

在地图上显示楼层选择控件

Declared In

FMKMapView.h

– showEnable3DControlWithOffset:enableShow:enableSeleted:

在地图上显示3D控件

- (void)showEnable3DControlWithOffset:(CGPoint)offset enableShow:(BOOL)show enableSeleted:(BOOL)enableSelected

Parameters

offset

偏移位置

show

是否显示

enableSelected

是否允许点击

Discussion

在地图上显示3D控件

Declared In

FMKMapView.h

– showSingleGroupOrMultiGroupsControlWithOffset:enableShow:enableSeleted:

在地图上显示单层/多层控件

- (void)showSingleGroupOrMultiGroupsControlWithOffset:(CGPoint)offset enableShow:(BOOL)show enableSeleted:(BOOL)enableSelected

Parameters

offset

偏移位置

show

是否显示

enableSelected

是否允许点击

Discussion

在地图上显示单层/多层控件

Declared In

FMKMapView.h

– setDisplayGroupsByGroupIDs:withHeightOffset:animated:focusGroup:

设置显示楼层并设置相邻楼层间距

- (void)setDisplayGroupsByGroupIDs:(NSArray<NSString*> *)groupIDs withHeightOffset:(CGFloat)heightOffset animated:(BOOL)animated focusGroup:(NSString *)focusGroupID

Parameters

groupIDs

楼层ID集合

heightOffset

相邻楼层间距

animated

是否有动画效果

focusGroupID

当前焦点楼层id

Discussion

设置显示楼层并设置相邻楼层间距

Declared In

FMKMapView.h

– setFocusByGroupID:animated:

设置焦点层

- (void)setFocusByGroupID:(NSString *)groupID animated:(BOOL)animated

Parameters

groupID

焦点层ID

animated

在切换焦点层过程中是否使用动效

Discussion

设置焦点层

在多楼层情况下,设置焦点层,焦点层透明度设置为当前主题中配置的楼层透明度
非焦点层为半透明状态

Declared In

FMKMapView.h

– getFocusGroupID

获取焦点层ID

- (NSString *)getFocusGroupID

Return Value

焦点层楼层ID

Discussion

获取焦点层ID

Declared In

FMKMapView.h

– setGroupsAlpha:

设置当前地图显示楼层的alpha

- (void)setGroupsAlpha:(NSArray<NSNumber*> *)alphas

Parameters

alphas

楼层alpha,楼层透明度数组与当前显示楼层做匹配 若透明度数组count小于当前显示楼层数,其他显示楼层透明度默认设置为1.0

Discussion

设置当前地图显示楼层的alpha

Declared In

FMKMapView.h

– cancelFocusFloor

取消地图焦点

- (void)cancelFocusFloor

Discussion

取消地图焦点

Declared In

FMKMapView.h

– setThemeWithID:

通过主题ID设置主题

- (void)setThemeWithID:(NSString *)themeID

Parameters

themeID

主题ID,请从蜂鸟云平台获取

Discussion

通过主题ID设置主题

Declared In

FMKMapView.h

– loadThemeByCustomUrl:themeID:update:

通过用户指定主题Url下载链接加载主题

- (void)loadThemeByCustomUrl:(NSString *)specificUrl themeID:(NSString *)themeID update:(BOOL)update

Parameters

specificUrl

用户指定主题Url下载链接

themeID

主题ID

update

是否更新

Discussion

通过用户指定主题Url下载链接加载主题

Declared In

FMKMapView.h

– setThemeWithLocalPath:

设置地图主题

- (void)setThemeWithLocalPath:(NSString *)path

Parameters

path

地图主题数据路径

Discussion

设置地图主题

Declared In

FMKMapView.h

– addBackgroundImageWithImage:

添加背景图片 图片不会拉伸或者压缩,原尺寸大小,不会发生变形 调用该接口必须在设置主题之后,否则主题刷新会覆盖图片

- (BOOL)addBackgroundImageWithImage:(UIImage *)backgroundImage

Parameters

backgroundImage

背景图片,图片必须包含有alpha通道

Return Value

设置成功结果

Discussion

添加背景图片 图片不会拉伸或者压缩,原尺寸大小,不会发生变形 调用该接口必须在设置主题之后,否则主题刷新会覆盖图片

Declared In

FMKMapView.h

– removeBackgroundImage

清除背景图片

- (void)removeBackgroundImage

Discussion

清除背景图片

Declared In

FMKMapView.h

– moveFromStart:toEnd:

移动地图

- (void)moveFromStart:(CGPoint)startPoint toEnd:(CGPoint)endPoint

Parameters

startPoint

起点坐标 屏幕坐标

endPoint

终点坐标 屏幕坐标

Discussion

移动地图

Declared In

FMKMapView.h

– moveToViewCenterFromMapPoint:animated:

将某个地图坐标点移动到屏幕中央

- (void)moveToViewCenterFromMapPoint:(FMKMapPoint)mapPoint animated:(BOOL)animated

Parameters

mapPoint

目标点

animated

动效开关

Discussion

将某个地图坐标点移动到屏幕中央

Declared In

FMKMapView.h

– getMapViewCenter

获取地图视图的中心点

- (FMKMapPoint)getMapViewCenter

Return Value

fengmap地图中心点坐标

Discussion

获取地图视图的中心点

Declared In

FMKMapView.h

– coverPoint:

屏幕坐标转换为地理坐标

- (FMKGeoCoord)coverPoint:(CGPoint)point

Parameters

point

屏幕点坐标

Return Value

蜂鸟地理坐标,包含楼层ID和地理坐标值

Discussion

屏幕坐标转换为地理坐标

Declared In

FMKMapView.h

– coverCoord:zType:

地理坐标转换为屏幕坐标

- (CGPoint)coverCoord:(FMKGeoCoord)coord zType:(FMKMapCoordZType)type

Parameters

coord

蜂鸟地图坐标

type

该参数为转换坐标时的Z值,Z值影响坐标转化后的y坐标值

Return Value

返回屏幕点坐标

Discussion

地理坐标转换为屏幕坐标

Declared In

FMKMapView.h

– updateMap

更新地图

- (void)updateMap

Discussion

更新地图

Declared In

FMKMapView.h

– clearMapView

清除地图

- (void)clearMapView

Discussion

清除地图

Declared In

FMKMapView.h

– setMapViewPort:

修改地图视口

- (void)setMapViewPort:(CGRect)bounds

Parameters

bounds

地图窗口size

Discussion

修改地图视口

当地图所在页面size发生改变时,修改地图视口适应窗口尺寸变化,常见于当地图所在视图frame发生变化后调用

Warning: 页面的size发生变化后必须主动调用该接口,否则会造成地图显示异常

Declared In

FMKMapView.h

– setFitView:

根据传入的地图点集合重新计算地图可是区域大小和缩放比例

- (void)setFitView:(NSArray<NSValue*> *)mapPoints

Parameters

mapPoints

地图点坐标集合,内为FMKMapPoint结构体,点数必须大于1,否则无效果

Discussion

根据传入的地图点集合重新计算地图可是区域大小和缩放比例

该方法只能在地图加载完成后调用,在调用该方法后地图会发生平移缩放效果,视角切换到俯视角度下

Declared In

FMKMapView.h

– setMultiGroupFitViewWithNaviResults:

设置多层路径线自适应显示 内部会为displayGroupIDs属性赋值,并默认修改焦点楼层

- (void)setMultiGroupFitViewWithNaviResults:(NSArray<FMKNaviResult*> *)naviresults

Parameters

naviresults

路径规划结果

Discussion

设置多层路径线自适应显示 内部会为displayGroupIDs属性赋值,并默认修改焦点楼层

Declared In

FMKMapView.h

– setRealTimeRendering:

设置渲染模式

- (void)setRealTimeRendering:(BOOL)realTimeRendering

Parameters

realTimeRendering

是否实时渲染 YES:实时渲染 NO被动渲染,默认被动渲染

Discussion

设置渲染模式

Declared In

FMKMapView.h

FMKMapUpgrade Methods

+ confirmMapVersionWithOldVersion:mapID:error:

验证地图数据版本号 即数据验证

+ (NSString *)confirmMapVersionWithOldVersion:(NSString *)oldVersion mapID:(NSString *)mapID error:(NSError **)error

Parameters

oldVersion

旧版本

mapID

地图ID

error

错误

Return Value

地图版本号 若版本号不一致则返回新版本号 否则返回nil 发生错误返回nil

Discussion

验证地图数据版本号 即数据验证

Declared In

FMKMapView+FMKMapUpgrade.h

– downloadMapWithMapID:mapVersion:error:

下载地图数据

- (NSString *)downloadMapWithMapID:(NSString *)mapID mapVersion:(NSString *)mapVersion error:(NSError **)error

Parameters

mapID

地图ID

mapVersion

地图旧版本号

Return Value

新地图数据路径

Discussion

下载地图数据

Declared In

FMKMapView+FMKMapUpgrade.h

– loadMapFailWithError:

加载地图失败抛出错误

- (void)loadMapFailWithError:(NSError *)error

Parameters

error

error信息

Discussion

加载地图失败抛出错误

Declared In

FMKMapView+FMKMapUpgrade.h

+ mapVersionByMapPath:

通过地图数据路径拿到地图版本号

+ (NSString *)mapVersionByMapPath:(NSString *)mapPath

Parameters

mapPath

地图路径

Return Value

地图版本号

Discussion

通过地图数据路径拿到地图版本号

Declared In

FMKMapView+FMKMapUpgrade.h

Extension Methods

  loadMapSuccess

小组件**

@property (nonatomic) BOOL loadMapSuccess

Discussion

小组件**

Declared In

FMKMapView.mm

  animations

动画相关*

@property (nonatomic, strong) NSMutableArray *animations

Discussion

动画相关*

Declared In

FMKMapView.mm