美文网首页地图
iOS室内地图篇(快速集成高德地图)

iOS室内地图篇(快速集成高德地图)

作者: 甜行僧 | 来源:发表于2016-08-03 16:23 被阅读407次
    高德带我飞

    概要

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

    前步骤

    step1 登录高德开发者平台
    step2 注册会员,成为开发者
    step3 Xcode新建自己的项目,主要是拿到bundle ID
    step4 回到高德开发者平台新建应用,主要是拿到即将集成sdk的key

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

    室内地图SDK v2.1.0

    接下来就根据高德给的寻宝图去做吧:http://lbs.amap.com/api/ios-indoor-sdk/guide/project/#t1

    快速集成

    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;
    

    关于lndoor的参考手册:
    http://a.amap.com/lbs/static/unzip/iOS_Indoormap_Doc/classes.html
    相关下载:http://lbs.amap.com/api/ios-indoor-sdk/download/

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

    The end

    相关文章

      网友评论

        本文标题:iOS室内地图篇(快速集成高德地图)

        本文链接:https://www.haomeiwen.com/subject/nmuqsttx.html