zoukankan      html  css  js  c++  java
  • 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.这里只记录一些日记(只为提升英语,暂时有点忙,等转行了开始写)
  • 相关阅读:
    Java多线程——volatile关键字、发布和逸出
    线程安全性的基础知识
    maven web不能创建src/main/java等文件等问题
    web环境中的spring MVC
    Spring AOP 概述
    golang统计出其中英文字母、空格、数字和其它字符的个数
    go语言求1到100之内的质数
    golang fmt占位符
    golang---map类型
    golang切片类型
  • 原文地址:https://www.cnblogs.com/liyang31tg/p/3708521.html
Copyright © 2011-2022 走看看