zoukankan      html  css  js  c++  java
  • 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)#>

  • 相关阅读:
    ASP.NET MVC 重点教程一周年版 第七回 UrlHelper 【转】
    Pycharm集成Python编程环境IDE
    每天前进一厘米如何快速迎头赶上
    终于开博
    大家觉得我有理,可以赞扬一下,觉得无理,可以骂一下。
    好久没有见到有人谈论代码生成器了
    看了FxCop工具
    关于30岁的“青春饭”问题的看法。
    更改后缀为.dex文件为.odex文件 让你的程序瘦身 运行更稳定
    HTC Sensation亲测 修改gps.conf 教你显著提高GPS定位速度
  • 原文地址:https://www.cnblogs.com/xujiahui/p/9538265.html
Copyright © 2011-2022 走看看