室内导航开发笔记

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.widthweakSelf.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.pixelToMeterConversion1像素点对应的米数    1/meterToPixelConversion

导航的用户点是一个现实情况下一米的正方形  使用size转换成图片上的大小

 

以上是关于室内导航开发笔记的主要内容,如果未能解决你的问题,请参考以下文章

STM32学习笔记①:环境配置及室内温湿度检测

STM32学习笔记①:环境配置及室内温湿度检测

STM32学习笔记①:环境配置及室内温湿度检测

iOS开发笔记13:顶部标签式导航栏及下拉分类菜单

uniapp实战笔记使用uni-nav-bar自定义顶部状态栏和导航栏

js开发笔记