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)#>


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2026 CODEPRJ.COM