iOS 中mapkit的基础使用方法-1

我是个主张开源的开发者,从今天开始,我给大家分享一下总结的苹果自带的地图-高德地图的一些用法。今天准备跟大家讲一下mapkit的基本用法,废话不多说了,直接上代码,然后再跟大家解释。

//
//  ViewController.m
//  mapKit
//
//  Created by 汤晓波 on 14-11-20.
//  Copyright (c) 2014年 tangxiaobo. All rights reserved.
//

#import "ViewController.h"
#import <MapKit/MapKit.h>

@interface ViewController ()<MKMapViewDelegate>

@property (nonatomic, strong)MKMapView *mapView;
//地理编码器
@property (nonatomic, strong)CLGeocoder *geoCode;

@end

@implementation ViewController

- (CLGeocoder *)geoCode{
    
    if (!_geoCode) {
        _geoCode = [[CLGeocoder alloc] init];
    }
    return _geoCode;
}

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
    
    [self setMap];
}

//设置地图
- (void)setMap{
    
    MKMapView *mapView = [[MKMapView alloc] initWithFrame:self.view.frame];
    self.mapView = mapView;
    [self.view addSubview:mapView];
    self.mapView.userTrackingMode = MKUserTrackingModeFollow;//追踪模式
    self.mapView.mapType = MKMapTypeStandard;//地图模式(三维,基本等等)
    self.mapView.delegate = self;//设置代理
}

#pragma  mark MKMapViewDelegate
//位置变化一次就调用一次
- (void)mapView:(MKMapView *)mapView didUpdateUserLocation:(MKUserLocation *)userLocation{
    
    //MKUserLocation大头针模型
    CLLocationCoordinate2D coordinate = userLocation.location.coordinate;
    
    NSLog(@"%f ---  %f",coordinate.latitude,coordinate.longitude);
    //地理编码,根据<span style="font-family: Arial, Helvetica, sans-serif;">userLocation.location获取到地标。</span>

    [self.geoCode reverseGeocodeLocation:userLocation.location completionHandler:^(NSArray *placemarks, NSError *error) {
       
        NSLog(@"%d",placemarks.count);
        if(placemarks.count == 0) return ;
        
        CLPlacemark *placeMard = [placemarks firstObject];
        
        NSLog(@"%@ --  %@",placeMard.subLocality,placeMard.locality);
        userLocation.subtitle = placeMard.subLocality;
        userLocation.title = placeMard.locality;
        
    }];
}

@end
这是一个最简单的mapkit的应用,只是简单的将高德地图展示出来。这里有2点需要注意,1,代理方法调用很频繁,一定要慎用。2,注意几个数据模型,CLPlacemark,MKUserLocation,CLLocationCoordinate2D等等,这些数据模型装的都是关于用户的一些位置信息,具体有那些,大家可以直接去苹果的官方文档看。今天就这些了,明天继续。加油加油!!!!我要一天一篇!!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值