室内导航开发笔记
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了室内导航开发笔记相关的知识,希望对你有一定的参考价值。
IndoorAtlas室内导航ios版使用方法:
引入协议 IALocationManagerDelegate
实现方法
- (void)indoorLocationManager:(IALocationManager *)manager didUpdateLocations:(NSArray *)locations;
- (void)indoorLocationManager:(IALocationManager *)manager didEnterRegion:(IARegion *)region;
先利用【didEnterRegion】方法获取进入的region(IARegion),region中region.identifier存储着floorplanId。
使用IAResourceManager和floorplanId可获得当前所在楼层的floorplan(IAFloorPlan)。【fetchFloorPlanWithId】
同时可以使用【fetchFloorPlanImageWithId】获取当前楼层的图片。
float scale = fmin(1.0, fmin(weakSelf.view.bounds.size.width / floorplan.width, weakSelf.view.bounds.size.height / floorplan.height));
//scale可确定在屏幕上显示的楼层图片的缩放比例
//获取图片宽高与屏幕的比例 ,取比例小的边进行缩放,图片大于屏幕则缩放比例设定为屏幕最大显示
使用CGAffineTransform进行UIImageview的变换
weakSelf.imageView.transform = CGAffineTransformIdentity;//恒等变换 相当于赋初值
CGAffineTransform t = CGAffineTransformMakeScale(scale, scale);
weakSelf.imageView.transform=t; //进行图片缩放
float size = floorplan.meterToPixelConversion;
//1米所占像素数
eg:floorplan.meterToPixelConversion=5 则一米对应5像素点
floorplan.pixelToMeterConversion为1像素点对应的米数 即1/meterToPixelConversion
导航的用户点是一个现实情况下一米的正方形 使用size转换成图片上的大小
以上是关于室内导航开发笔记的主要内容,如果未能解决你的问题,请参考以下文章