最近做到一个项目,设计到室内地图路径规划,其实一般的项目也很少设计到室内路径规划,室内也就那么点大。
但是上面怎么说我们就怎么做吧,或者是人性化,或者是多此一举的项目,既然写了就分享出来吧。
先说下大致思想流程吧,语言表达不是很好,有不懂的可以加我的qq24272779询问!
上图例子:
基本思路把上图建筑区域全部用坐标扣选出来,也就是不能走到的地方,蓝色区域和灰色区域。
坐标点以像素为单位。
扣选出来以后把整个图片地图分成由好多小方格组成的!
选择两个点,用A*算法求出需要经过非蓝色和灰色区域的最短路径。
(A*算法不懂的可以百度)。
代码:
//添加地图图片
SKIndoorMapView *indoorMap = [[SKIndoorMapView alloc]initWithIndoorMapImageName:@"WHTerminalBD.png" Frame:CGRectMake(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT)];
[self.view addSubview:indoorMap];
#pragma mark - Zoom methods
-(void)longRequired:(UIGestureRecognizer*)gesture
{
if (gesture.state == UIGestureRecognizerStateBegan)
{
if (Points.count == 0 || Points.count >= 2)
{
[Points removeAllObjects];
for (UIView *view in [self.mapView subviews])
{
[view removeFromSuperview];
}
//坐标
CGPoint touchPoint = [gesture locationInView:self.mapView];
UIImage *Img = [UIImage