关于原生地图定位的简单操作MapKit的使用

//

//  ViewController.m

//  Demo_1 MKMapView

//

//  Created by tareba on 15/12/16.

//  Copyright © 2015年 tanada. All rights reserved.

//

#import "ViewController.h"

#import <MapKit/MapKit.h>

#import "TRAnnotation.h"

@interface ViewController ()<MKMapViewDelegate>

@property (weak, nonatomic) IBOutlet MKMapView *mapView;

/**

*  相同点:也要征求用户的同意

*/

@property (nonatomic,strong)CLLocationManager *manager;

- (IBAction)addAnnotation:(UIButton *)sender;

@end

@implementation ViewController

- (void)viewDidLoad {

[super viewDidLoad];

//初始化manger

self.manager=[[CLLocationManager alloc]init];

//询问 征求用户同意

[self.manager requestWhenInUseAuthorization];

//delegate

self.mapView.delegate=self;

//设置地图不行允许旋转

self.mapView.rotateEnabled=NO;

//设置地图的显示类型(卫星/彼岸准地图/混合)

//self.mapView.mapType=MKMapTypeHybrid;

//开始定位

self.mapView.userTrackingMode=MKUserTrackingModeFollow;

}

#pragma mark - MapViewDelegate

//已经定位到用户的位置并且显示完

- (void)mapView:(MKMapView *)mapView didUpdateUserLocation:(MKUserLocation *)userLocation{

NSLog(@"维度%f,精度%f",userLocation.location.coordinate.latitude,userLocation.location.coordinate.longitude);

userLocation.title=@"用户位置";

userLocation.subtitle=@"描述信息";

}

-  (void)mapView:(MKMapView *)mapView regionWillChangeAnimated:(BOOL)animated{

NSLog(@"地图即将发生移动");

}

//确定地图已经发生移动

- (void)mapView:(MKMapView *)mapView regionDidChangeAnimated:(BOOL)animated{

NSLog(@"地图已经发生移动");

}

- (IBAction)addAnnotation:(UIButton *)sender {

//创建模型类

//遵循协议

//.h中声明三个属性1个必须,两个可选

//添加到地图视图上,(必须遵循MKAnnotation协议)

CLLocationDegrees latitude = 35.123+arc4random_uniform(10);//0~10

CLLocationDegrees longitude = 116.125+arc4random_uniform(20);

TRAnnotation *annotation=[TRAnnotation new];

annotation.coordinate=CLLocationCoordinate2DMake(latitude, longitude);

//设置地图视图的显示区域(大头针都显示到视图的中心位置)

//跨度

MKCoordinateSpan span=MKCoordinateSpanMake(0.5, 0.52);

//中心位置 和 跨度

MKCoordinateRegion region=MKCoordinateRegionMake(annotation.coordinate, span);

[self.mapView setRegion:region animated:YES];

[self.mapView addAnnotation:annotation];

}

@end

#import <Foundation/Foundation.h>

#import <MapKit/MapKit.h>

@interface TRAnnotation : NSObject<MKAnnotation>

@property (nonatomic, assign) CLLocationCoordinate2D coordinate;

@property (nonatomic, copy) NSString *title;

@property (nonatomic, copy) NSString *subtitle;

@end

时间: 2024-08-09 13:15:47

关于原生地图定位的简单操作MapKit的使用的相关文章

元素定位XPath 简单操作分享

XPath 简单实用 学习Selenium2 为了学习元素定位开始学习xpath,现在把学习心得记录下,给大家参考下. 什么是 XPath? XPath 使用路径表达式在 XML 文档中进行导航 XPath 包含一个标准函数库 XPath 是 XSLT 中的主要元素 XPath 是一个 W3C 标准 在 XPath 中,有七种类型的节点:元素.属性.文本.命名空间.处理指令.注释以及文档(根)节点.XML 文档是被作为节点树来对待的.树的根被称为文档节点或者根节点. 下面列出了最有用的路径表达式

AppleMap苹果原生地图

//使用苹果原生地图#import "RootViewController.h"#import <MapKit/MapKit.h>@interface RootViewController ()<MKMapViewDelegate,CLLocationManagerDelegate>{    //声明地图视图    MKMapView *mapview;    //供定位使用的对象    CLLocationManager *manager;}@end @imp

python中通过selenium简单操作及元素定位

浏览器的简单操作 # 导入webdriver模块 # 创建driver对象,指定Chrome浏览器 driver = webdriver.Chrome() # 窗口最大化 driver.maximize_window() # 访问百度 driver.get("http://baidu.com") driver.get("http://sina.com") # 后退 driver.back() # 前进 driver.forward() # 刷新 driver.ref

IOS原生地图与高德地图

原生地图 1.什么是LBS LBS: 基于位置的服务   Location Based Service 实际应用:大众点评,陌陌,微信,美团等需要用到地图或定位的App 2.定位方式 1.GPS定位      2.基站定位      3.WIFI定位 3.框架 MapKit:地图框架,显示地图 CoreLocation:定位框架,没有地图时也可以使用定位. 4.如何使用原生地图<MapKit> 和定位<CoreLocation> MapKit: 1) 初始化MapView _map

iOS地图定位(Map)

1.地图的简介 在移动互联网时代,移动app能解决用户的很多生活琐事,比如    导航:去任意陌生的地方    周边:找餐馆.找酒店.找银行.找电影院    手机软件:微信摇一摇.QQ附近的人.微博.支付宝等 在上述应用中,都用到了地图和定位功能,在iOS开发中,要想加入这两大功能,必须基于两个框架进行开发    Map Kit :用于地图展示    Core Location :用于地理定位 地图定位(CoreLocation框架,地理编码与反地理编码)地图显示(MapKit框架)自定义大头针

地图定位CoreLocation框架,地理位置编码与反编码

在现代互联网时代,越来越多的应用,都用到了地图定位功能,在iOS开发中,想要加入这种功能,必须基于两个框架进行开发: 1.Map Kit:用于显示地图, 2.CoreLocation:用于显示地理位置 这里我们简单了解一下CoreLocation,用于显示地理位置,坐标信息. 一.相关类介绍 CLLocationManager.用于定位服务管理类,它能够给我们提供位置信息和高度信息,也可以监控设备进入或离开某个区域,还可以获得设备的运行方向. CLLocation.封装了位置和高度信息. CLL

小程序开发工具教程汇总,亲测无需代码,简单操作,可二次开发!

制作小程序要简单点,开发的方式简单点.所以!不得不扒一扒这款开发工具某即速应用,无需代码,简单操作,还可套用模板快速生成小程序代码包,支持二次开发.当然市面上还有很多款小程序编辑器,但大部分还是那种开发接单的,水太深了,交不起学费,还是自己来琢磨吧!大家有什么好的小程序工具类可以分享给我! 以下将我网上参与学习培训总结的一些资料文档分享出来,供大家参考学习.特别是不懂代码的朋友,这款开发工具还是可以试试的!容易上手! 当然首先,我们还是要先下载:最新版的微信开发者工具(方便进入代码二次编辑) 接

android菜鸟学习笔记31----Android使用百度地图API(二)获取地理位置及地图控制器的简单使用

1.获取当前地理位置: Android中提供了一个LocationManager的类,用于管理地理位置.不能通过构造函数获取该类的实例,而是通过Context的getSystemService(): LocationManager lm = (LocationManager) getSystemService(Context.LOCATION_SERVICE); 该类中有几个比较常用的方法: getLastKnownLocation(String provider)用于根据传入的provider

iOS原生地图开发指南续——大头针与自定义标注

iOS原生地图开发指南续——大头针与自定义标注 出自:http://www.sxt.cn/info-6042-u-7372.html 在上一篇博客中http://my.oschina.net/u/2340880/blog/415360系统总结了iOS原生地图框架MapKit中主体地图的设置与应用.这篇是上一篇的一个后续,总结了系统的大头针视图以及自定义标注视图的方法. 一.先来认识一个协议MKAnnotation 官方文档告诉我们,所有标注的类必须遵守这个协议.所以可以了解,标注这个概念在逻辑属