ios-地图-MapKit
// // RootViewController.m // CustomMapDemo // // Created by liyang on 14-5-5. // Copyright (c) 2014年 liyang. All rights reserved. // #import "RootViewController.h" #import "customAnnotation.h" #import <MapKit/MapKit.h> @interface RootViewController () @end @implementation RootViewController - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil { self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; if (self) { // Custom initialization } return self; } -(void)loadView{ _mymap=[[MKMapView alloc]init];//将一个地图作为一个控制器的view self.view =_mymap; } - (void)viewDidLoad { [super viewDidLoad]; _mymap.mapType=MKMapTypeStandard;//地图类型 _mymap.showsUserLocation=YES;//是否显示当前设备的位置 CLLocationCoordinate2D center={39.910650,116.47030};//经纬度 MKCoordinateSpan span={0.1,0.1};//放大倍数 MKCoordinateRegion region={center,span};//地图初始化的显示区域 [_mymap setRegion:region];//地图的初始化 _mymap.delegate=self;//地图的代理可以做什么事情,比如给这个地图添加大头针 customAnnotation *customanotation=[[customAnnotation alloc]initWithCLLocationCoordinate2D:center]; customanotation.title=@"万达广场"; customanotation.subtitle=@"八大胡同"; [_mymap addAnnotation:customanotation];//只要有这个方法应该就会调用下面这个代理 } - (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id <MKAnnotation>)annotation{//因为这个参数是一个协议,所以我们就创建一个类是实现了这个协议的类对象给传进来,因为这个直接是代理调用,应该是直接地图上添加一个标注就可以了 static NSString * identifier=@"annotation"; MKAnnotationView *mkanotationview= [mapView dequeueReusableAnnotationViewWithIdentifier:identifier]; if (mkanotationview==nil) { mkanotationview=[[MKAnnotationView alloc]initWithAnnotation:annotation reuseIdentifier:identifier]; mkanotationview.image=[UIImage imageNamed:@"play"];//用一个图片来标注,当然也可以用这个类的子类,有专门的大头针类 UIButton *button= [UIButton buttonWithType:UIButtonTypeDetailDisclosure];//按钮的初始化 mkanotationview.canShowCallout=YES;//设置是否显示按钮 mkanotationview.rightCalloutAccessoryView=button;//设置一个按钮,有右边,当然也有有右边 } mkanotationview.annotation=annotation; return mkanotationview; } - (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; } @end
1.这里只记录一些学习笔记
2.这里只记录一些学习心得,如果心得方向有错,请留言
2.这里只记录一些日记(只为提升英语,暂时有点忙,等转行了开始写)