高德带我飞

概要

可以利用地图优秀产品高德来帮助自己的室内地图app啦。利用高德地图sdk完成 室内地图 的技术操作。

前步骤

step1 登录高德开发者平台

step2 注册会员,成为开发者

step3 Xcode新建自己的项目,主要是拿到bundle ID

step4 回到高德开发者平台新建应用,主要是拿到即将集成sdk的key

至此,前面步骤做完,接下来就是各种翻阅、学习、动脑费眼去看各种documents了


室内地图SDK v2.1.0


快速集成

step 1 添加室内地图库

step1.1 在Xcode中选中工程名,在 TARGETS->General->Linked Frameworks and Libraries 中点击“+”按钮

step1.2 “Add Other”按钮,选择解压后的 IndoorMapSDK.framework 文件添加到工程中

step 2 添加系统库


导入其他系统库

step 3 导入资源文件IndoorMapSDK.bundle


必须手工导入资源文件,否则地图无法正常加载!

需要将IndoorMapSDK.framework拷贝到demo目录下添加,否则编译找不懂IndoorMapSDK.h文件

以上.完成项目基本配置

关于室内地图操作

1.地图下载:

属性:@property(nonatomic, strong)NSString* key;

方法:下载地图数据、删除数据、获取缓存建筑物列表

2.地图显示:

属性:

@property(nonatomic, strong)NSString* key;

@property(nonatomic, strong)NSString* buildingId;// 建筑物ID

@property(nonatomic)int floorNo;//floor number

@property(nonatomic) BOOL showExtension;//bool是否加载周边数据

方法: 楼层显示、设置建筑物及楼层、加载室内地图、地图加载完成或失败、加载周边数据

3.地图手势:

属性:

@property(nonatomic)BOOL enableTranslate;//移动

@property(nonatomic)BOOL enableScale; //缩放

@property(nonatomic)BOOL enableRotate;//旋倾

@property(nonatomic)BOOL enableIncline; //斜转

@property(nonatomic)BOOL enableClick;//点击

@property(nonatomic, getter=getScaleUnit, setter=setScaleUnit:)float scaleUnit;//当前地图的比例尺

方法:

移动-(int)updateTranslation:(float)x y:(float)y;

缩放-(int)updateScale:(float)scale;

旋转-(int)updateRotation:(float)radian;

倾斜-(int)updateIncline:(float)incline;

放大-(int)zoomIn;

缩小-(int)zoomOut;

重置地图-(int)resetMap;

重置地图位置-(int)resetMapCenter;

重置地图方向-(int)resetMapDirection;

4.设置View中心

-(int)setCoordinateCenter:(float)longitude latitude:(float)latitude;移动地图上的一点到View的中心

-(int)setFeatureCenter:(OIMFeature*)feature;移动指定POI到View中心

-(int)setFeaturesCenter:(NSArray*)features;设置POI缩放比例

5.室内控件属性

@property(nonatomic)BOOL showPlottingScale;//比例尺

@property(nonatomic)BOOL showCompass;//指南针

@property(nonatomic)BOOL showFloorList;// 楼层控件

@property(nonatomic)BOOL showZoomControl;//缩放控件

6.室内搜索

-(NSArray*)searchByKeywords:(NSString*)keywords;//按关键字搜索

-(NSArray*)searchByType:(NSString*)type; //按类型搜索

-(NSArray*)getAllSearchTypes; //按获取所有类型

-(NSArray*)search:(OIMPoint)position byDistance:(float)distance limit:(int)limit; //按距离搜索

7.室内路算

详见http://lbs.amap.com/api/ios-indoor-sdk/guide/indoorroute/#t2

或者开发文档 [高德地图 IOS 室内地图 SDK 开发指南 V2.1.0Beta 20160621.pdf]

8.室内定位

@property(nonatomic)BOOL showLocationPoint; //当前定位点开关

@property(nonatomic) int followingMode;//当前的跟模式

跟模式有三种

- OIMFollowingMode_DontFollow 地图不跟随模式,默认方式,显示动画。- OIMFollowingMode_FollowLocation 地图位置跟随模式,根据定位点的位置移动地图。- OIMFollowingMode_FollowLocationAndDirection 地图位置和方向跟随模式,根据定位点的位置移动地图,同时根据定位给出的

设置当前定位点

-(int)setLocationPoint:(OIMPoint)point orientation:(float)orientation accuracy:(float)accuracy;

以上. 整理完主要是为了熟悉和方便以后快速集成和查询(主要还是喜欢自己的套路啊). 大体浏览后就可以去着手demo和集成sdk到自己app中了。

The end