苹果地图2,定位,标注,返回中心。


//
// ViewController.m
// mapdemo001
//
// Created by apple on 14-4-28.
// Copyright (c) 2014年 apple. All rights reserved.
//

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

@interface ViewController () <MKMapViewDelegate>
{
MKMapView *_mapview;
UIButton *_backBtn;
}
@end

@implementation ViewController

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

MKMapView *mapview = [[MKMapView alloc] initWithFrame:self.view.bounds];
mapview.delegate = self;
mapview.showsUserLocation = YES;
[self.view addSubview:mapview];

_backBtn = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[_backBtn setTitle:@"返回中心位置" forState:UIControlStateNormal];
_backBtn.frame = CGRectMake(30, 50, 100, 30);
[_backBtn addTarget:self action:@selector(myselect) forControlEvents:UIControlEventTouchUpInside];

[self.view addSubview:_backBtn];
}

- (void)myselect
{
// 设置中心位置
[_mapview setCenterCoordinate:_mapview.userLocation.location.coordinate];
// 设置跨度
MKCoordinateSpan span = MKCoordinateSpanMake(0.812988, 0.888449);
// 显示区域
MKCoordinateRegion region = MKCoordinateRegionMake(_mapview.userLocation.location.coordinate, span);

// 设置显示区域
[_mapview setRegion:region animated:YES];
}

- (void)mapView:(MKMapView *)mapView didUpdateUserLocation:(MKUserLocation *)userLocation
{
if (_mapview) {
return;
}
// 设置中心位置
[mapView setCenterCoordinate:userLocation.location.coordinate];
// 设置跨度
MKCoordinateSpan span = MKCoordinateSpanMake(0.812988, 0.888449);
// 显示区域
MKCoordinateRegion region = MKCoordinateRegionMake(userLocation.location.coordinate, span);

// 设置显示区域
[mapView setRegion:region animated:YES];
_mapview = mapView;
}

- (void)mapView:(MKMapView *)mapView regionWillChangeAnimated:(BOOL)animated
{
// 当前的中心位置
//CLLocationCoordinate2D coord = mapView.region.center;
// 在这个代理方法里找到车或者人,让后添加标注。添加标注以后,会在viewforannotation方法里把标注显示出来
//mapView addAnnotation:<#(id<MKAnnotation>)#>

for (int i=0; i<10; i++) {
MyAnnotation *anno = [[MyAnnotation alloc] init];
anno.coordinate = CLLocationCoordinate2DMake(39+arc4random()%100/100.0, 116+arc4random()%100/100.0);
//
NSString *str = [NSString stringWithFormat:@"%d",i];
anno.title = str;
[mapView addAnnotation:anno];
}

NSLog(@"%f %f",mapView.region.span.latitudeDelta,mapView.region.span.longitudeDelta);
}

- (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id<MKAnnotation>)annotation
{
static NSString *ID = @"MYID";
MKAnnotationView *annotationView = [mapView dequeueReusableAnnotationViewWithIdentifier:ID];
if (annotationView == nil) {
annotationView = [[MKPinAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:ID];
annotationView.canShowCallout = YES;
}
annotationView.annotation = annotation;
if ([annotation isKindOfClass:[MyAnnotation class]]) {
// 这个是是标注周围的车 标注周围的车或者商家
annotationView.image = [UIImage imageNamed:@"ic_category_1.png"];
} else {
// 返回nil,表示标注当前位置ic_category_78 标注当前位置
annotationView.image = [UIImage imageNamed:@"ic_category_78"];
//return nil;
}

return annotationView;

}

- (void)mapView:(MKMapView *)mapView didSelectAnnotationView:(MKAnnotationView *)view
{
MyAnnotation *anno = (MyAnnotation *)view.annotation;
NSLog(@"%@",anno.title);
}

- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}

@end


#import <Foundation/Foundation.h>
#import <MapKit/MapKit.h>
@interface MyAnnotation : NSObject<MKAnnotation>
@property (nonatomic) CLLocationCoordinate2D coordinate;
@property (nonatomic, copy) NSString *title;
@end

苹果地图2,定位,标注,返回中心。,码迷,mamicode.com

时间: 2024-11-05 04:49:04

苹果地图2,定位,标注,返回中心。的相关文章

iOS 开发指南 第16章 定位服务与地图应用之使用苹果地图

1 显示地图 MKMapView MKMapViewDelegate 准备:加载MapKit.framework 设置地图样式 代理-实现代理方法 - (void)viewDidLoad { [super viewDidLoad]; 设置样式,枚举类型MKMapType self.mapView.mapType = MKMapTypeStandard; // self.mapView.mapType = MKMapTypeSatellite; 将当前视图控制器赋值给地图视图的delegate属性

百度地图定位,标注以及地图中心点问题

关于百度地图的相关配置以及库的合并方法请查看官方文档,上面说的很详细, 下面是在配置好的基础上进行的. 1.引入百度地图的库的头文件 //百度地图    #import <BaiduMapAPI/BMapKit.h>    #import <BaiduMapAPI/BMKMapView.h> 2.我是直接使用xib进行开发的,我直接让当前显示地图的view继承自BMKMapView,建立属性连接 @property (strong, nonatomic) IBOutlet BMKM

苹果地图定位和显示区域

// // ViewController.m // mapdemo001 // // Created by apple on 14-4-28. // Copyright (c) 2014年 apple. All rights reserved. // #import "ViewController.h" #import <MapKit/MapKit.h> @interface ViewController () <MKMapViewDelegate> { MKM

iOS 开发之定位与苹果地图

1.LBS开发 需求: 社交类应用 ,  购物类 ,  旅游类... 功能: 定位.地图 官方提供:定位与地图(国内使用的高德的数据) 第三方:高德,百度,搜搜,腾讯,谷歌地图... 2.地理定位 2.1 库的配置 /*****地图定位*****/ //LBS --> Location Based Service //1.配置库 --> CoreLocation.framework (系统的) // --> #import <CoreLocation/CoreLocation.h&

ios开发之定位和苹果地图

ios开发之定位和苹果地图 1. LBS开发简介 需求:社交类(微信 QQ)     附件的人 购物应用  显示商家位置 (美团 大众点评) 旅游类应用(去哪儿 携程)  显示当前位置周边酒店 餐馆 功能 :定位 (获取当前位置的地图) 地图(显示某个区域的地图) 实现: 苹果:定位功能和地图功能(国内使用高德的数据) 高德地图 百度地图 搜搜地图 腾讯地图 谷歌地图... 2.地理定位 1.库的配置 2.定位功能 3方向 3.地址编码和反编码 1 地址编码 获取经纬度 确定地理位置 2 地址反

iOS开发--地图与定位

概览 现在很多社交.电商.团购应用都引入了地图和定位功能,似乎地图功能不再是地图应用 和导航应用所特有的.的确,有了地图和定位功能确实让我们的生活更加丰富多彩,极大的改变了我们的生活方式.例如你到了一个陌生的地方想要查找附近的酒 店.超市等就可以打开软件搜索周边;类似的,还有很多团购软件可以根据你所在的位置自动为你推荐某些商品.总之,目前地图和定位功能已经大量引入到应用开 发中.今天就和大家一起看一下iOS如何进行地图和定位开发. 定位 地图 定位 要 实现地图.导航功能,往往需要先熟悉定位功能

iOS开发系列--地图与定位

概览 现在很多社交.电商.团购应用都引入了地图和定位功能,似乎地图功能不再是地图应用和导航应用所特有的.的确,有了地图和定位功能确实让我们的生活更加丰富多彩,极大的改变了我们的生活方式.例如你到了一个陌生的地方想要查找附近的酒店.超市等就可以打开软件搜索周边;类似的,还有很多团购软件可以根据你所在的位置自动为你推荐某些商品.总之,目前地图和定位功能已经大量引入到应用开发中.今天就和大家一起看一下iOS如何进行地图和定位开发. 定位 地图 定位 要实现地图.导航功能,往往需要先熟悉定位功能,在iO

iOS开发——开发实战总结OC篇&amp;地图与定位(LBS)-MapKit篇

地图与定位(LBS)-MapKit篇 一:MapKit基本介绍 XIB 代码 二:框架没有导入 在Xcode5之后我们不需要在工程中导入苹果的框架,也就是,苹果会自动为神马导入,但是有几个前提 1:你必须import这个框架 2:你必须在项目中使用(需要第一个条件的支持) 只要上面每个条件不满足都会报上名的错误 三:基本属性的使用 1 // 1.设置地图显示类型 2 /** 3 MKMapTypeStandard = 0, // 标准 4 MKMapTypeSatellite, // 卫星 5

转-iOS开发系列--地图与定位

来自: http://www.cnblogs.com/kenshincui/p/4125570.html#autoid-3-4-0 概览 现在很多社交.电商.团购应用都引入了地图和定位功能,似乎地图功能不再是地图应用和导航应用所特有的.的确,有了地图和定位功能确实让我们的生活更加丰富多彩,极大的改变了我们的生活方式.例如你到了一个陌生的地方想要查找附近的酒店.超市等就可以打开软件搜索周边;类似的,还有很多团购软件可以根据你所在的位置自动为你推荐某些商品.总之,目前地图和定位功能已经大量引入到应用