IndoorMapSDK
室内地图SDK参考文档
 全部  函数 变量 属性
OIMMapView类 参考
类 OIMMapView 继承关系图:

Instance Methods

(NSArray *) - getFloorList
 
(void) - setBuildingId:floorNo:
 
(int) - setRoutePlanning:
 设置当前路算结果 更多...
 
(int) - setLocationPoint:orientation:accuracy:
 设置当前定位点 更多...
 
(int) - zoomIn
 放大 更多...
 
(int) - zoomOut
 缩小 更多...
 
(int) - updateTranslation:y:
 移动地图 更多...
 
(int) - updateRotation:
 旋转地图 更多...
 
(int) - updateScale:
 缩放地图 更多...
 
(int) - updateIncline:
 倾斜地图 更多...
 
(int) - resetMap
 重置地图 更多...
 
(int) - resetMapCenter
 重置地图位置 更多...
 
(int) - resetMapDirection
 重置地图方向 更多...
 
(int) - setCoordinateCenter:latitude:
 移动地图上的一点到View的中心 更多...
 
(int) - setFeatureCenter:
 移动指定POI的中心点到View的中心 更多...
 
(int) - setFeaturesCenter:
 把指定的POI按合适的缩放比例显示到View中 更多...
 
(int) - setFeature:status:
 设置地图上POI的显示状态 更多...
 
(int) - setFeatures:status:
 设置地图上POI的显示状态 更多...
 
(void) - clearStatus:
 清除显示状态 更多...
 
(int) - setFeature:highlight:
 设置对象高亮显示 更多...
 
(int) - loadExtensionData:
 加载外延数据 更多...
 
(int) - setStyleById:style:
 设置POI不同级别的样式 更多...
 
(int) - setStyleByCategory:style:
 设置分类不同级别的样式 更多...
 
(int) - setStyleMap:
 批量设置POI或分类的样式 更多...
 
(CGPoint) - convertCoordinate:
 地理坐标转换成屏幕坐标 更多...
 
(void) - addAnnotation:
 logo位置, 必须在mapView.bounds之内,否则会被忽略 更多...
 
(void) - addAnnotations:
 向地图窗口添加一组标注,需要实现OIMMapViewDelegate的-mapView:viewForAnnotation:函数来生成标注对应的View 更多...
 
(void) - removeAnnotation:
 移除标注 更多...
 
(void) - removeAnnotations:
 移除一组标注 更多...
 
(OIMAnnotationView *) - viewForAnnotation:
 获取指定投影矩形范围内的标注 更多...
 
(void) - selectAnnotation:animated:
 从复用内存池中获取制定复用标识的annotation view 更多...
 
(void) - deselectAnnotation:animated:
 取消选中标注数据对应的view 更多...
 
(void) - showAnnotations:animated:
 annotation 可见区域 更多...
 
(void) - addOverlay:
 取位于level下的overlays 更多...
 
(void) - addOverlays:
 向地图窗口添加一组Overlay,需要实现OIMMapViewDelegate的-mapView:rendererForOverlay:函数来生成标注对应的Renderer 默认添加层级:OIMOverlayLevelAboveLabels 更多...
 
(void) - removeOverlay:
 向地图窗口添加Overlay,需要实现OIMMapViewDelegate的-mapView:rendererForOverlay:函数来生成标注对应的Renderer 更多...
 
(void) - removeOverlays:
 移除一组Overlay 更多...
 
(OIMOverlayRenderer *) - rendererForOverlay:
 在指定层级的指定的索引处添加一个Overlay 更多...
 

Class Methods

(NSString *) + getVersion
 获取主版本号 更多...
 
(NSString *) + getSubVersion
 获取次版本号 更多...
 

属性

NSString * key
 LBS开发者KEY. 更多...
 
NSString * resourcePath
 资源文件的路径 更多...
 
id< OIMMapViewDelegatedelegate
 地图事件 更多...
 
OIMDataManagerdataManager
 室内地图数据管理对象 更多...
 
NSString * buildingId
 
int floorNo
 
BOOL showRoutePlanning
 显示路算结果开关 更多...
 
BOOL showLocationPoint
 显示当前定位点开关 更多...
 
int followingMode
 当前的跟随模式 更多...
 
BOOL showPlottingScale
 显示比例尺的开关 更多...
 
BOOL showCompass
 显示指南针的开关 更多...
 
BOOL showFloorList
 显示楼层控件的开关 更多...
 
BOOL showZoomControl
 显示缩放控件的开关 更多...
 
BOOL enableTranslate
 允许移动手势的开关 更多...
 
BOOL enableScale
 允许缩放手势的开关 更多...
 
BOOL enableRotate
 允许旋转手势的开关 更多...
 
BOOL enableIncline
 允许倾斜手势的开关 更多...
 
BOOL enableClick
 允许点击手势的开关 更多...
 
BOOL enableDoubleClick
 允许双击手势的开关 更多...
 
BOOL enableLongPress
 允许长按手势的开关 更多...
 
float rotation
 地图的旋转角度 更多...
 
CGPoint translation
 地图的偏移量 更多...
 
float scale
 地图的缩放倍数 更多...
 
float incline
 地图的倾斜角度 更多...
 
float scaleUnit
 当前地图的比例 更多...
 
float minScaleUnit
 最小的地图比例 更多...
 
float maxScaleUnit
 最大的地图比例 更多...
 
BOOL showExtension
 显示外延数据 更多...
 
NSArray * annotations
 标注数组
 
NSArray * selectedAnnotations
 处于选中状态的标注数据数据(其count == 0 或 1)
 
NSArray * overlays
 Overlay数组
 

Method Documentation

- (void) addAnnotation: (id< OIMAnnotation >)  annotation

logo位置, 必须在mapView.bounds之内,否则会被忽略

logo的宽高

是否支持缩放

是否支持平移

是否支持旋转

是否支持单击地图获取POI信息(默认为YES) 对应的回调是 - (void)mapView:(OIMMapView *)mapView didTouchPois:(NSArray *)pois

设置地图旋转角度(逆时针为正向)

是否支持天空模式,默认为YES. 开启后,进入天空模式后,annotation重用可视范围会缩减

设置地图旋转角度(逆时针为正向)

参数
animated动画
duration动画时间

设置地图相机角度(范围为[0.f, 60.f],但高于40度的角度需要在16级以上才能生效)

参数
cameraDegree角度

是否支持camera旋转

是否显示罗盘

罗盘原点位置

罗盘的宽高

设置罗盘的图片

是否显示比例尺

比例尺原点位置

比例尺的最大宽高

室内地图控件的最大宽高

在当前缩放级别下, 基于地图中心点, 1 screen point 对应的距离(单位是米).

在指定的缩放级别下, 基于地图中心点, 1 screen point 对应的距离(单位是米).

参数
zoomLevel指定的缩放级别, 在[minZoomLevel, maxZoomLevel]范围内.
返回
对应的距离(单位是米)

当前地图的经纬度范围,设定的该范围可能会被调整为适合地图窗口显示的范围

当前地图的中心点,改变该值时,地图的比例尺级别不会发生变化

设置地图状态

参数
animated是否动画
duration动画时间 默认动画时间为0.35s

根据当前地图视图frame的大小调整region范围

参数
region要调整的经纬度范围
返回
调整后的经纬度范围

可见区域

缩放级别

根据指定的枢纽点来缩放地图

参数
zoomLevel缩放级别
pivot枢纽点(基于地图view的坐标系)
animated是否动画

最小缩放级别

最大缩放级别

调整投影矩形比例

参数
mapRect要调整的投影矩形
返回
调整后的投影矩形

根据当前地图视图frame的大小调整投影范围

参数
mapRect要调整的投影范围
返回
调整后的投影范围

根据嵌入数据来调整投影矩形比例

参数
mapRect要调整的投影矩形
insets嵌入数据
返回
调整后的投影矩形

将经纬度转换为指定view坐标系的坐标

参数
coordinate经纬度
view指定的view
返回
基于指定view坐标系的坐标

将指定view坐标系的坐标转换为经纬度

参数
point指定view坐标系的坐标
view指定的view
返回
经纬度

将经纬度region转换为指定view坐标系的rect

参数
region经纬度region
view指定的view
返回
指定view坐标系的rect

将指定view坐标系的rect转换为经纬度region

参数
rect指定view坐标系的rect
view指定的view
返回
经纬度region

是否显示用户位置

当前的位置数据

是否自定义用户位置精度圈(userLocationAccuracyCircle)对应的 view, 默认为 NO. 如果为YES: 会调用 - (OIMOverlayRenderer *)mapView:(OIMMapView *)mapView rendererForOverlay: (OIMMapView(OverlaysAPI))overlay 若返回nil, 则不加载. 如果为NO : 会使用默认的样式.

用户位置精度圈 对应的overlay.

定位用户位置的模式

当前位置再地图中是否可见

向地图窗口添加标注,需要实现OIMMapViewDelegate的-mapView:viewForAnnotation:函数来生成标注对应的View

参数
annotation要添加的标注

Provided by category OIMMapView(Overlay).

- (void) addAnnotations: (NSArray *)  annotations

向地图窗口添加一组标注,需要实现OIMMapViewDelegate的-mapView:viewForAnnotation:函数来生成标注对应的View

参数
annotations要添加的标注数组

Provided by category OIMMapView(Overlay).

- (void) addOverlay: (OIMOverlay *)  overlay

取位于level下的overlays

向地图窗口添加Overlay。 需要实现OIMMapViewDelegate的-mapView:rendererForOverlay:函数来生成标注对应的Renderer。 默认添加层级:OIMGroundOverlay默认层级为OIMOverlayLevelAboveRoads,其余overlay类型默认层级为OIMOverlayLevelAboveLabels

参数
overlay要添加的overlay

Provided by category OIMMapView(OverlaysAPI).

- (void) addOverlays: (NSArray *)  overlays

向地图窗口添加一组Overlay,需要实现OIMMapViewDelegate的-mapView:rendererForOverlay:函数来生成标注对应的Renderer 默认添加层级:OIMOverlayLevelAboveLabels

参数
overlays要添加的overlay数组

Provided by category OIMMapView(OverlaysAPI).

- (void) clearStatus: (OIMFeatureStatus)  status

清除显示状态

参数
status要清除的显示状态
备注
显示的状态包括:高亮、蓝色气泡、红色气泡、路算起点、路算终点 该接口清除所有POI的指定状态(暂不支持清除指定POI的指定状态)
自从
2.0.0
- (CGPoint) convertCoordinate: (CGPoint)  coordinate

地理坐标转换成屏幕坐标

参数
coordinate地理坐标(经纬度)
返回
屏幕坐标
自从
2.2.0
- (void) deselectAnnotation: (id< OIMAnnotation >)  annotation
animated: (BOOL)  animated 

取消选中标注数据对应的view

参数
annotation标注数据
animated是否有动画效果

Provided by category OIMMapView(Overlay).

+ (NSString*) getSubVersion

获取次版本号

返回
室内地图SDK当前的次版本号
自从
2.0.0
+ (NSString*) getVersion

获取主版本号

返回
室内地图SDK当前的主版本号
自从
2.0.0
- (int) loadExtensionData: (NSData *)  extensionData

加载外延数据

参数
extensionData外延数据
返回
IMOK 成功 IMERR 失败
自从
2.1.0
- (void) removeAnnotation: (id< OIMAnnotation >)  annotation

移除标注

参数
annotation要移除的标注

Provided by category OIMMapView(Overlay).

- (void) removeAnnotations: (NSArray *)  annotations

移除一组标注

参数
annotation要移除的标注数组

Provided by category OIMMapView(Overlay).

- (void) removeOverlay: (OIMOverlay *)  overlay

向地图窗口添加Overlay,需要实现OIMMapViewDelegate的-mapView:rendererForOverlay:函数来生成标注对应的Renderer

参数
overlay要添加的overlay
level添加的overlay所在层级

向地图窗口添加一组Overlay,需要实现OIMMapViewDelegate的-mapView:rendererForOverlay:函数来生成标注对应的Renderer

参数
overlays要添加的overlay数组
level添加的overlay所在层级

移除Overlay

参数
overlay要移除的overlay

Provided by category OIMMapView(OverlaysAPI).

- (void) removeOverlays: (NSArray *)  overlays

移除一组Overlay

参数
overlays要移除的overlay数组

Provided by category OIMMapView(OverlaysAPI).

- (OIMOverlayRenderer *) rendererForOverlay: (OIMOverlay *)  overlay

在指定层级的指定的索引处添加一个Overlay

参数
overlay要添加的overlay
index指定的索引
level指定的层级

注:各个层级的索引分开计数; 若index大于level层级的最大索引,则添加至level层级的最大索引之后。

在指定的Overlay之上插入一个overlay

参数
overlay带添加的Overlay
sibling用于指定相对位置的Overlay

在指定的Overlay之下插入一个overlay

参数
overlay带添加的Overlay
sibling用于指定相对位置的Overlay

在指定的索引处添加一个Overlay

参数
overlay要添加的overlay
index指定的索引

交换指定索引处的Overlay

参数
index1索引1
index2索引2

交换两个overlay

参数
overlay1
overlay2

查找指定overlay对应的Renderer,如果该View尚未创建,返回nil

参数
overlay指定的overlay
返回
指定overlay对应的Renderer

Provided by category OIMMapView(OverlaysAPI).

- (int) resetMap

重置地图

返回
IMOK 成功 IMERR 失败
备注
地图的位置、旋转、缩放、倾斜等都重置为加载的默认状态 等价于 translation={0,0}, rotation=0, scale=1, incline=0
自从
2.0.0
- (int) resetMapCenter

重置地图位置

返回
IMOK 成功 IMERR 失败
备注
地图的中心点回到View的中心点,其它如旋转、缩放、倾斜都不变 等价于 translation={0,0}
自从
2.0.0
- (int) resetMapDirection

重置地图方向

返回
IMOK 成功 IMERR 失败
备注
旋转和倾斜回到初始状态,其它如旋转、移动都不变 等价于 rotation=0, incline=0
自从
2.0.0
- (void) selectAnnotation: (id< OIMAnnotation >)  annotation
animated: (BOOL)  animated 

从复用内存池中获取制定复用标识的annotation view

参数
identifier复用标识
返回
annotation view

选中标注数据对应的view

参数
annotation标注数据
animated是否有动画效果

Provided by category OIMMapView(Overlay).

- (int) setCoordinateCenter: (double)  longitude
latitude: (double)  latitude 

移动地图上的一点到View的中心

参数
longitude地图经度
latitude地图纬度
返回
IMOK 成功 IMERR 失败
自从
2.0.0
- (int) setFeature: (OIMFeature *)  feature
highlight: (BOOL)  highlight 

设置对象高亮显示

参数
feature指定的POI对象
highlight是否高亮显示
返回
IMOK 成功 IMERR 失败
自从
2.1.0
- (int) setFeature: (OIMFeature *)  feature
status: (OIMFeatureStatus)  status 

设置地图上POI的显示状态

参数
feature指定的POI
status显示状态(高亮、蓝色气泡、红色气泡、路算起点、路算终点)
返回
IMOK 成功 IMERR 失败
自从
2.0.0
- (int) setFeatureCenter: (OIMFeature *)  feature

移动指定POI的中心点到View的中心

参数
feature指定的POI
返回
IMOK 成功 IMERR 失败
自从
2.0.0
- (int) setFeatures: (NSArray *)  featureList
status: (OIMFeatureStatus)  status 

设置地图上POI的显示状态

参数
featureList指定的POI列表
status显示状态(高亮、蓝色气泡、红色气泡、路算起点、路算终点)
返回
IMOK 成功 IMERR 失败
自从
2.0.0
- (int) setFeaturesCenter: (NSArray *)  features

把指定的POI按合适的缩放比例显示到View中

参数
features指定的POI列表
返回
IMOK 成功 IMERR 失败
自从
2.0.0
- (int) setLocationPoint: (OIMPoint point
orientation: (float)  orientation
accuracy: (float)  accuracy 

设置当前定位点

参数
point定位点坐标,包括经纬度和楼层
orientation定位的方向
accuracy定位的精度
返回
IMOK 设置成功 IMERR 设置失败
自从
2.0.0
- (int) setRoutePlanning: (OIMFeature *)  feature

设置当前路算结果

参数
feature路算结果(设置空nil的路算结果会清除地图上已经显示的路算)
返回
IMOK 设置成功 IMERR 设置失败
自从
2.0.0
- (int) setStyleByCategory: (int)  category
style: (OIMStyle *)  style 

设置分类不同级别的样式

参数
category分类代码
style样式
返回
IMOK 成功 IMERR 失败
备注
相同级别的样式会被覆盖,不同级别的样式会被保留
自从
2.1.0
- (int) setStyleById: (NSString *)  poiid
style: (OIMStyle *)  style 

设置POI不同级别的样式

参数
poiidPOI的唯一标识
style样式
返回
IMOK 成功 IMERR 失败
备注
相同级别的样式会被覆盖,不同级别的样式会被保留
自从
2.1.0
- (int) setStyleMap: (NSDictionary *)  styleMap

批量设置POI或分类的样式

参数
styleMap样式表
返回
IMOK 成功 IMERR 失败
备注
对分类样式,NSDictionary的key是NSNumber类型, 对POI样式,NSDictionary的key是NSString类型 只有一个级别的样式,NSDictionary的value是OIMStyle类型 同一个分类或POI的多个不同级别样式可以放到一个数组里,NSDictionary的value是NSArray类型
自从
2.1.0
- (void) showAnnotations: (NSArray *)  annotations
animated: (BOOL)  animated 

annotation 可见区域

设置地图使其可以显示数组中所有的annotation, 如果数组中只有一个则直接设置地图中心为annotation的位置。

参数
annotations需要显示的annotation
animated是否执行动画

Provided by category OIMMapView(Overlay).

- (int) updateIncline: (float)  incline

倾斜地图

参数
incline倾斜的角度
返回
IMOK 成功 IMERR 失败
备注
单位:度([-60,60]),正值前倾,负值后仰
自从
2.0.0
- (int) updateRotation: (float)  radian

旋转地图

参数
radian旋转的角度(单位度[-180,180],正值逆时针,负值顺时针)
返回
IMOK 成功 IMERR 失败
自从
2.0.0
- (int) updateScale: (float)  scale

缩放地图

参数
scale缩放的倍数(大于1放大,小于1缩小)
返回
IMOK 成功 IMERR 失败
自从
2.0.0
- (int) updateTranslation: (float)  x
y: (float)  y 

移动地图

参数
xX轴方向的相对移动距离(单位像素),正值向右,负值向左
yY轴方向的相对移动距离(单位像素),正值向上,负值向下
返回
IMOK 成功 IMERR 失败
自从
2.0.0
- (OIMAnnotationView *) viewForAnnotation: (id< OIMAnnotation >)  annotation

获取指定投影矩形范围内的标注

参数
mapRect投影矩形范围
返回
标注集合

根据标注数据获取标注view

参数
annotation标注数据
返回
对应的标注view

Provided by category OIMMapView(Overlay).

- (int) zoomIn

放大

返回
IMOK 成功 IMERR 失败
自从
2.0.0
- (int) zoomOut

缩小

返回
IMOK 成功 IMERR 失败
自从
2.0.0

属性说明

- (OIMDataManager*) dataManager
readwritenonatomicstrong

室内地图数据管理对象

备注
可以用这个数据管理对象获取楼层列表、搜索等 不建议同时使用这个对象下载数据,这样会影响地图的显示
自从
2.0.0
- (id<OIMMapViewDelegate>) delegate
readwritenonatomicweak

地图事件

自从
2.0.0
- (BOOL) enableClick
readwritenonatomicassign

允许点击手势的开关

YES 允许 NO 不允许

自从
2.0.0
- (BOOL) enableDoubleClick
readwritenonatomicassign

允许双击手势的开关

YES 允许 NO 不允许

自从
2.0.0
- (BOOL) enableIncline
readwritenonatomicassign

允许倾斜手势的开关

YES 允许 NO 不允许

自从
2.0.0
- (BOOL) enableLongPress
readwritenonatomicassign

允许长按手势的开关

YES 允许 NO 不允许

自从
2.0.0
- (BOOL) enableRotate
readwritenonatomicassign

允许旋转手势的开关

YES 允许 NO 不允许

自从
2.0.0
- (BOOL) enableScale
readwritenonatomicassign

允许缩放手势的开关

YES 允许 NO 不允许

自从
2.0.0
- (BOOL) enableTranslate
readwritenonatomicassign

允许移动手势的开关

YES 允许 NO 不允许

自从
2.0.0
- (int) followingMode
readwritenonatomicassign

当前的跟随模式

备注
当前有3种模式 OIMFollowingMode_DontFollow 地图不跟随模式,默认方式,显示动画 OIMFollowingMode_FollowLocation 地图位置跟随模式,根据定位点的位置移动地图 OIMFollowingMode_FollowLocationAndDirection 地图位置和方向跟随模式,根据定位点的位置移动地图,同时根据定位给出的方向旋转地图
自从
2.0.0
- (float) incline
readwritenonatomicassign

地图的倾斜角度

备注
单位:度([-60,0]),初始值为0,不倾斜
自从
2.0.0
- (NSString*) key
readwritenonatomicstrong

LBS开发者KEY.

备注
KEY的获取请到 http://lbs.amap.com 申请 如果KEY设置错误,将无法访问LBS服务器下载室内地图数据 请从LBS官网申请KEY,并在程序中使用正确的KEY http://lbs.amap.com/dev/key/
自从
2.0.0
- (float) maxScaleUnit
readnonatomicassign

最大的地图比例

备注
地图放大到最大时的地图比例 当前版本的最大地图比例是0.004米/像素
自从
2.0.0
- (float) minScaleUnit
readnonatomicassign

最小的地图比例

备注
地图缩小到最小时的地图比例
自从
2.0.0
- (NSString*) resourcePath
readwritenonatomicstrong

资源文件的路径

备注
默认使用IndoorMapSDK.bundle中的资源文件(注意配置项目时要添加) 修改该路径使用自定义资源文件请谨慎使用
自从
2.0.0
- (float) rotation
readwritenonatomicassign

地图的旋转角度

备注
单位:度([-180,180]),初始值为0(正北方向)
自从
2.0.0
- (float) scale
readwritenonatomicassign

地图的缩放倍数

备注
最初适配View大小时的缩放倍数是1
自从
2.0.0
- (float) scaleUnit
readwritenonatomicassign

当前地图的比例

备注
每个屏幕像素对应的实际地图距离,单位米/像素 不同大小的建筑物在打开时的默认比例是不同的
自从
2.0.0
- (BOOL) showCompass
readwritenonatomicassign

显示指南针的开关

YES 显示 NO 不显示

自从
2.0.0
- (BOOL) showExtension
readwritenonatomicassign

显示外延数据

YES 显示 NO 不显示

自从
2.1.0
- (BOOL) showFloorList
readwritenonatomicassign

显示楼层控件的开关

YES 显示 NO 不显示

自从
2.0.0
- (BOOL) showLocationPoint
readwritenonatomicassign

显示当前定位点开关

YES 显示 NO 不显示

自从
2.0.0
- (BOOL) showPlottingScale
readwritenonatomicassign

显示比例尺的开关

YES 显示 NO 不显示

自从
2.0.0
- (BOOL) showRoutePlanning
readwritenonatomicassign

显示路算结果开关

YES 显示 NO 不显示

自从
2.0.0
- (BOOL) showZoomControl
readwritenonatomicassign

显示缩放控件的开关

YES 显示 NO 不显示

自从
2.0.0
- (CGPoint) translation
readwritenonatomicassign

地图的偏移量

备注
x,y的单位是像素,初始值为(0,0)(建筑物中心与View的中心重合)
自从
2.0.0

该类的文档由以下文件生成: