IOS之高德地图多标记

来源:互联网 发布:淘宝客服提成是几个点 编辑:程序博客网 时间:2024/03/29 10:33

 今年刚接触ios,算是第一次在ios移动端调用高德api。废话不多说直接上图.


                                       


这个是我在项目中要做出来的效果。其实也很简单。

第一步:当然是申请高德的key.然后初始化apikey  然后就是导入包了。

第二步:加载地图(记得先把appkey初始化,就一句话 ,具体自己看高德api)    

    //初始化地图

    _mapView=[[MAMapViewalloc]initWithFrame:CGRectMake(0,100, SCREEN_WIDTH, SCREEN_HEIGHT-100)];

    //    self._mapView.centerCoordinate = CLLocationCoordinate2DMake(self.latitude, self.longitude);

    //设置中心点为中国中心

    _mapView.centerCoordinate=CLLocationCoordinate2DMake(CENTER_LATITUDE,CENTER_LONGITUDE);

    

    //设置缩放等级为全国4

    _mapView.zoomLevel=zoomlevel;

    //关闭指南针

    _mapView.showsCompass=NO;

  //设置成NO表示不显示比例尺;YES表示显示比例尺

    _mapView.showsScale=NO;

    [self.viewaddSubview:_mapView];

    //添加缩放比例按钮

    stepper=[[UIStepperalloc]initWithFrame:CGRectMake(SCREEN_WIDTH-110,SCREEN_HEIGHT-50,100,10)];

    stepper.backgroundColor=[UIColorwhiteColor];

    stepper.minimumValue  =4;

    stepper.maximumValue  =19;

    stepper.stepValue  =1;

    stepper.value  =4;

    [stepperaddTarget:selfaction:@selector(MapSizeChange)forControlEvents:UIControlEventValueChanged];

    [self.viewaddSubview:stepper];


第三步: 把大头针戳到地图上 (我是在vc生命周期里调用到,代码如下)

//放大缩小按钮

UIStepper *stepper;


NSMutableArray *latitude_arr;//纬度

NSMutableArray *longitude_arr;//经度

- (void)viewDidLoad {

    [superviewDidLoad];

//    [self layout];

   //给经纬度赋值

    latitude_arr=[[NSMutableArrayalloc]initWithObjects:@"20.3333",@"23.3333",@"26.3333" ,nil];

    longitude_arr=[[NSMutableArrayalloc]initWithObjects:@"100.3510899683",@"102.3510899683",@"104.3510899683" ,nil];

    

}



- (void)viewDidAppear:(BOOL)animated

{

    [superviewDidAppear:animated];

    for (int i=0; i<latitude_arr.count; i++) {

        NSString *value_lat = [latitude_arrobjectAtIndex:i];

        double d_latitude = value_lat.doubleValue;

        

        NSString *value_long = [longitude_arrobjectAtIndex:i];

        double d_long= value_long.doubleValue;

        

        MAPointAnnotation *pointAnnotation = [[MAPointAnnotationalloc] init];

        pointAnnotation.coordinate =CLLocationCoordinate2DMake(d_latitude,d_long);

    

        [_mapViewaddAnnotation:pointAnnotation];

    }

}


大功告成!
0 0
原创粉丝点击