iOS高德地图让指定区域或者点显示在屏幕中间

Posted 徐家汇123

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS高德地图让指定区域或者点显示在屏幕中间相关的知识,希望对你有一定的参考价值。

对于高德地图也是一个新手,很多功能看文档,问技术 或者高德群里讨论  群号:204668425

在我们需求中绘制的有 圆 折线 不规则图形 方式,打开地图指定的绘制图形置于屏幕中间

1、首先创建一个数组--  arraySpace

圆: 需要根据圆的半径 中心点计算 垂直的四个

技术分享图片
//加入所有圆的点
//设置位置的点
                CLLocationCoordinate2D destinationCoordinated =CLLocationCoordinate2DMake(latitude,longitude);

                MAPointAnnotation * a1= [[MAPointAnnotation alloc] init];
                a1.coordinate =destinationCoordinated;

                // 111000 这个是米转换经纬度的最大尺度,所以算出来的点只会在圆之外
                double jingwei = (double) areaRadius/111000;
              //计入一个中心点
                [arraySpace addObject:a1];

               //由原点计算上下左右的四个点
                for (int i=0; i<4; i++) {
                    MAPointAnnotation * a1= [[MAPointAnnotation alloc] init];
                    switch (i) {
                        case 0:
                            NSLog(@"%lf----%lf",latitude+jingwei,longitude+jingwei);
                            a1.coordinate = CLLocationCoordinate2DMake(latitude+jingwei,longitude);
                            
                            break;
                            
                        case 1:
                            a1.coordinate = CLLocationCoordinate2DMake(latitude-jingwei,longitude);
                            break;
                            
                        case 2:
                            a1.coordinate = CLLocationCoordinate2DMake(latitude,longitude+jingwei);
                            break;
                            
                        case 3:
                            a1.coordinate = CLLocationCoordinate2DMake(latitude,longitude-jingwei);
                            break;
                            
                        default:
                            break;
                    }
                    
                    
                    //加入数组
                    [arraySpace addObject:a1];
                }
计算四个点

2、折线、多边形 加入所有的点---》arraySpace

3、用下边的方法 控制显示在屏幕中的大小

以点的方式 添加

[self.mapView showAnnotations:self.arraySpace edgePadding:UIEdgeInsetsMake(200, 200, 350, 200) animated:YES];

 

以绘制 图的方式添加

 self.mapView showOverlays:<#(NSArray *)#> edgePadding:<#(UIEdgeInsets)#> animated:<#(BOOL)#>

以上是关于iOS高德地图让指定区域或者点显示在屏幕中间的主要内容,如果未能解决你的问题,请参考以下文章

高德地图标注怎么做

怎样在高德地图找某一个区域的详细地图

高德地图怎么让界面调整到显示所有覆盖物的缩放级别

高德地图判断点的位置是否在浏览器可视区域内

使用高德地图绘制多边形区域

高德地图实现一个比例圆环形聚合点缩放