zoukankan      html  css  js  c++  java
  • 地图划线

    #import "ViewController.h"
    #import <CoreLocation/CoreLocation.h>
    #import <MapKit/MapKit.h>
    
    
    
    @interface ViewController ()<MKMapViewDelegate>
    
    @property(nonatomic ,strong)MKMapView * map;
    
    
    @end
    
    @implementation ViewController
    
    - (void)viewDidLoad {
        [super viewDidLoad];
    
        MKMapView * map = [[MKMapView alloc]initWithFrame:self.view.bounds];
      
        self.map = map;
        
        self.map.delegate = self;
        
        [self.view addSubview:map];
        
        
        
        CLGeocoder * geoCode = [[CLGeocoder alloc]init];
        
        [geoCode geocodeAddressString:@"北京" completionHandler:^(NSArray<CLPlacemark *> * _Nullable placemarks, NSError * _Nullable error) {
            
            //通过coreLocation 的CLPlacemark 获取地面 装换为MKPlacemark
            
            MKPlacemark * place1 = [[MKPlacemark alloc]initWithPlacemark:[placemarks firstObject]];
        
            
            [geoCode geocodeAddressString:@"武汉" completionHandler:^(NSArray<CLPlacemark *> * _Nullable placemarks, NSError * _Nullable error) {
                
                MKPlacemark * place2 = [[MKPlacemark alloc]initWithPlacemark:[placemarks firstObject]];
                
                //创建方向请求
                MKDirectionsRequest * request = [[MKDirectionsRequest alloc]init];
                
                request.source = [[MKMapItem alloc]initWithPlacemark:place1];
                
                request.destination = [[MKMapItem alloc]initWithPlacemark:place2];
                
                //创建方向对象
                MKDirections * direction = [[MKDirections alloc]initWithRequest:request];
                
                //计算方向 添加蒙版 也就是划线
                 [direction calculateDirectionsWithCompletionHandler:^(MKDirectionsResponse * _Nullable response, NSError * _Nullable error) {
                     
                     for (MKRoute * route in response.routes) {
                         
                         [self.map addOverlay:route.polyline];
             
                     }
                     
                     
                 }];
                
                
      
            }];
        }];
    
    }
    
    
    //当添加折线时,调用 , 返回一个折线渲染器
    -(MKOverlayRenderer *)mapView:(MKMapView *)mapView rendererForOverlay:(id<MKOverlay>)overlay
    {
        
        MKPolylineRenderer * polylineRenderer = [[MKPolylineRenderer alloc]initWithPolyline:overlay];
        
        polylineRenderer.lineWidth = 2;
        
        polylineRenderer.strokeColor = [UIColor orangeColor];
        
        return polylineRenderer;
        
        
    }
    

      

  • 相关阅读:
    Apache 下载+安装
    PythonWindows环境下安装Flask
    返利网今日值得买python爬虫
    flask简单web应用
    flask笔记一
    2018年11月26日
    名词解释http隧道、https、SSL层、http代理、在线代理、socks代理区别
    【HTTP/S】透明代理、匿名代理、混淆代理、高匿代理有什么区别?
    C# HttpWebRequest Post Get 请求数据
    内网穿透系列Go语言
  • 原文地址:https://www.cnblogs.com/yuwei0911/p/5442401.html
Copyright © 2011-2022 走看看