iOS 根据两个或多个经纬度在地图画线

原创 2016年05月30日 17:48:48

#import <MapKit/MapKit.h>// 引入地图框架

<CLLocationManagerDelegate,MKMapViewDelegate>

@property (strong, nonatomic) MKPolyline *myPolyline;

@property(nonatomic, strong) MKMapView *mapView;


- (void)drowLine {

    

    

    //初始化地图视图

    

    self.mapView = [[MKMapView alloc]initWithFrame:CGRectMake(0, 0, 320, 480)];

    

    //地图的代理方法

    

    self.mapView.delegate = self;

    

    //是否显示当前的位置

    

    self.mapView.showsUserLocation = YES;

    

    //地图的类型, iOS开发中自带的地图

    

    //使用第三方的地图可以查找周边环境的餐馆,学校之类的

    

    /*

     

     MKMapTypeStandard 标准地图

     

     MKMapTypeSatellite 卫星地图

     

     MKMapTypeHybrid 混合地图

     

     */

    

    self.mapView.mapType = MKMapTypeStandard;

    

    [self.view addSubview:self.mapView];

    

    NSString *thePath = @"106.73293,10.79871|106.73229,10.79841|106.7318,10.79832|106.73164,10.79847|106.73156,10.7988|106.73106,10.79886|106.73057,10.79877|106.73002,10.79866|106.72959,10.79875|106.72935,10.7992|106.7293,10.79971|106.72925,10.80015|106.72942,10.80046|106.72981,10.80058|106.73037,10.8007|106.73067,10.80072|106.7311,10.80076|106.7315,10.80079|106.73194,10.80082|106.73237,10.80086|106.73265,10.80098|106.73269,10.80153|106.7327,10.80207|106.73257,10.80243|106.73718,10.79941|106.73445,10.79946|106.73144,10.79885|106.72987,10.8005|106.73192,10.79991|106.72383,10.79827|106.71543,10.80086|106.70957,10.80121|106.70507,10.79834|106.70121,10.79432|106.69603,10.79158|106.69322,10.78911|106.69196,10.78785|106.68768,10.78355|106.68539,10.7812|106.68336,10.7791|106.67048,10.78377|106.64864,10.78319|106.6499,10.77949|106.63697,10.77439|106.6447,10.77936|106.65804,10.76279|106.66792,10.76805|106.68191,10.77516|106.68336,10.77241|106.68319,10.77622|106.67482,10.78149|106.67095,10.78193|106.65217,10.78641|";

    

//    thePath = @"106.73293,10.79871|106.73229,40.79841|";

    

    NSArray *array = [thePath componentsSeparatedByString:@"|"];

    CLLocationCoordinate2D pointToUse[2];

    

    for (NSInteger i = 0; i < (array.count - 2); i++) {

        NSString *str = array[i];

        NSArray *temp = [str componentsSeparatedByString:@","];

        

        NSString *lon = temp[0];

        NSString *lat = temp[1];

        CLLocationCoordinate2D coordinate = CLLocationCoordinate2DMake([lat doubleValue], [lon doubleValue]);

        pointToUse[0] = coordinate;

        

        NSString *str2 = array[i + 1];

        NSArray *temp2 = [str2 componentsSeparatedByString:@","];

        NSString *lon2 = temp2[0];

        NSString *lat2 = temp2[1];

        CLLocationCoordinate2D coordinate2 = CLLocationCoordinate2DMake([lat2 doubleValue], [lon2 doubleValue]);

        pointToUse[1] = coordinate2;

        

        self.myPolyline = [MKPolyline polylineWithCoordinates:pointToUse count:2];

        [self.mapView addOverlay:self.myPolyline];

    }

    

}


- (MKOverlayView *)mapView:(MKMapView *)mapView viewForOverlay:(id<MKOverlay>)overlay {

    if ([overlay isKindOfClass:[MKPolyline class]]) {

        MKPolylineView *lineview = [[MKPolylineView alloc] initWithOverlay:overlay];

        lineview.strokeColor = [[UIColor blueColor] colorWithAlphaComponent:0.5];

        lineview.lineWidth = 10;

        return lineview;

    }

    return nil;

}


版权声明:本文为博主原创文章,未经博主允许不得转载。

iOS中根据已有经纬度定位并显示在地图上

从接口中获取到了现在的经纬度 将NSNumber 的经纬度 转成 double 类型 之后赋给CLLocationDegress  大头针的title 为传过来的位置 设置一个大头...
  • CXLiao
  • CXLiao
  • 2016年03月08日 08:43
  • 334

iOS之使用MapKit通过经纬度坐标画线

在使用iOS sdk自带的mapkit 需要引入mapkit头文件#import 首先定义几个全局的变量,包含map视图、线及线视图,并包含map的委托 @property (retain, non...
  • reylen
  • reylen
  • 2015年11月20日 16:19
  • 2863

iOS应用根据经纬度打开不同地图app进行导航

导航
  • qq_22026331
  • qq_22026331
  • 2017年02月13日 14:46
  • 1205

ios 高德地图 通过索引输出经纬度 根据经纬度 定位

ios 高德地图新出了几个方法
  • u014412933
  • u014412933
  • 2014年05月22日 09:40
  • 1834

iOS中利用系统地图获取定位信息(经纬度/地理位置)

首先在plist文件中 然后在.h文件中: // //  CCLocationManager.h //  MMLocationManager // // //  Created by Gu...
  • GuoFengIOS
  • GuoFengIOS
  • 2016年06月03日 11:18
  • 830

iOS 百度地图,根据经纬度,显示大头针

//,可以根据百度地图的经纬度,来显示大头针 BMKPointAnnotation* annotation = [[BMKPointAnnotation alloc]init]; annota...
  • qq_30023981
  • qq_30023981
  • 2016年06月24日 19:29
  • 2170

使用ajax从MySql读数据,根据表中的经纬度信息在地图上打点

php文件代码如下:
  • ZhuaWaMi
  • ZhuaWaMi
  • 2013年04月23日 11:29
  • 1758

ios 高德地图 通过索引输出经纬度 根据经纬度 定位

ios 高德地图 通过索引输出经纬度 根据经纬度 定位,有需要的朋友可以参考下。 ios 高德地图新出了几个方法,实现地理位置的编码用到了CLGeocoder,CLGeocoder里...
  • hanmingsa
  • hanmingsa
  • 2014年12月22日 18:49
  • 2469

根据指定的经纬度显示地图位置

网上找了半天,都是一些乱七八糟的代码,其实到最后就是这么简单; //坐标 CLLocationCoordinate2D pt = (CLLocationCoordinate2D){0, 0};...
  • App_IOS
  • App_IOS
  • 2015年06月08日 13:25
  • 858

从数据库获取到的多个点(有具体的经纬度),显示在百度地图上

数据库结构:long是经度,lat是纬度。。这张表示行程点数据表。。 这张表是行程设定表。。。 控制器代码: public function map(){ //查询一篇文章每一天的行程点 $trip...
  • ougexingfuba
  • ougexingfuba
  • 2017年05月26日 21:18
  • 956
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:iOS 根据两个或多个经纬度在地图画线
举报原因:
原因补充:

(最多只允许输入30个字)