文档章节

iOS开发 在google地图上显示自己的位置,值得收藏

baisou
 baisou
发布于 2013/07/27 11:03
字数 355
阅读 637
收藏 5

一行代码显示你的位置

iOS中的MapKit集成了定位的功能,使用一行代码就可以在google地图上展示出自己当前的位置,代码如下:


-(IBAction) showLocation:(id) sender {
    
    if ([[btnShowLocation titleForState:UIControlStateNormal] 
		 isEqualToString:@"Show My Location"]) {
        [btnShowLocation setTitle:@"Hide My Location" 
						 forState:UIControlStateNormal];
        mapView.showsUserLocation = YES;        
    } else {
        [btnShowLocation setTitle:@"Show My Location" 
						 forState:UIControlStateNormal];
        mapView.showsUserLocation = NO;
    }    
}


关键的代码就是:mapView.showUserLocation=YES.

使用CLLocationManager和MKMapView

还有就是通过CoreLocation框架写代码去请求当前的位置,一样也非常简单:

第一步:创建一个CLLocationManager实例

CLLocationManager *locationManager = [[CLLocationManager alloc] init];


第二步:设置CLLocationManager实例委托和精度


locationManager.delegate = self; 
locationManager.desiredAccuracy = kCLLocationAccuracyBest;


第三步:设置距离筛选器distanceFilter,下面表示设备至少移动1000米,才通知委托更新


locationManager.distanceFilter = 1000.0f;


或者没有筛选器的默认设置:


locationManager.distanceFilter = kCLDistanceFilterNone;


第四步:启动请求


[locationManager startUpdatingLocation];


使用下面代码停止请求:


[locationManager stopUpdatingLocation];

CLLocationManagerDelegate委托


这个委托中有:locationManager:didUpdateToLocation: fromLocation方法,用于获取经纬度。

可以使用下面代码从CLLocation 实例中获取经纬度


CLLocationDegrees latitude = theLocation.coordinate.latitude; 
CLLocationDegrees longitude = theLocation.coordinate.longitude;


使用下面代码获取你的海拔:


CLLocationDistance altitude = theLocation.altitude;


使用下面代码获取你的位移:


CLLocationDistance distance = [fromLocation distanceFromLocation:toLocation];


总结:本文主要是讲解了如何在iOS设备google地图上展示自己的当前位置。

© 著作权归作者所有

共有 人打赏支持
baisou
粉丝 3
博文 71
码字总数 65407
作品 0
广州
程序员
私信 提问
谷歌Flutter跨平台应用开发SDK迎来首个发行预览版本

谷歌Flutter跨平台应用开发SDK迎来首个发行预览版本 2018-06-22 12:26编辑: 枣泥布丁分类:程序人生来源:程序师 跨平台Google Flutter预览版本 招聘信息: 图像处理及模式识别工程师 C/C+...

枣泥布丁
06/22
0
0
iOS 开发之一些著名开发者博客

国内 王巍 王巍目前在日本横滨任职于 LINE。工作内容主要进行 Unity3D 开发,8小时之外经常进行 iOS/Mac 开发。他的陈列柜中已有多款应用,其中番茄工作法工具非常棒。 博客 池建强 池建强,...

maskmale
02/25
0
0
华为手机Q2中国市场占有率再创新高 但最畅销手机还是苹果X

华为手机Q2中国市场占有率再创新高 但最畅销手机还是苹果X 2018-07-26 09:53编辑: garace分类:业界动态来源:腾讯数码 市场三星小米华为 招聘信息: iOS开发 iOS开发 iOS开发 app开发上架H...

garace
07/26
0
0
fir.im Weekly - iOS 开发中的 Git 流程

本期 fir.im Weekly 收集了微博上的热转资源,包含 Android、iOS 开发工具、源码等好用的轮子,还有一些 APP 设计的 Tips,希望对你有用。 精仿知乎日报 iOS 端 @我偏笑_NSNirvana花了将近一...

风起云飞fir_im
2015/11/03
0
0
程序员”偷“的不是懒,是高效!

程序员”偷“的不是懒,是高效! 2018-05-03 14:52编辑: yyuuzhu分类:程序人生来源:代码湾 程序员 招聘信息: C++工程师 Cocos2d-x游戏客户端开发 iOS开发工程师 京东招聘iOS开发工程师 ...

yyuuzhu
05/03
0
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周二乱弹 —— 请上车吧

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @2amor :分享王菲的单曲《闷》 《闷》- 王菲 手机党少年们想听歌,请使劲儿戳(这里) @開源中國周杰倫 :昨天睡觉肚子疼,妈蛋,半夜爬起来...

小小编辑
41分钟前
274
8
工作中如何做好技术积累

参考:https://tech.meituan.com/study_vs_work.html 看了这篇文章,觉得总结得非常好,因此摘抄了一些关键点,以便自己经常翻阅。 引言 在繁忙的工作中做好技术积累,构建个人核心竞争力. 在...

grace_233
51分钟前
8
0
day146-2018-11-13-英语流利阅读-待学习

5 岁“牛娃”简历给 985 精英一个暴击 Lala 2018-11-13 1.今日导读 “不要让孩子输在起跑线上”,似乎已成为了当下最流行的名句,每个身为家长或还未成为家长的人都不得不思考这句话的分量。...

飞鱼说编程
今天
5
0
Mariadb二进制包安装,Apache安装

安装mariadb 下载二进制包并解压 [root@test-a src]# wget https://downloads.mariadb.com/MariaDB/mariadb-10.2.6/bintar-linux-glibc_214-x86_64/mariadb-10.2.6-linux-glibc_214-x86_64.t......

野雪球
今天
4
0
ConcurrentHashMap 高并发性的实现机制

ConcurrentHashMap 的结构分析 为了更好的理解 ConcurrentHashMap 高并发的具体实现,让我们先探索它的结构模型。 ConcurrentHashMap 类中包含两个静态内部类 HashEntry 和 Segment。HashEnt...

TonyStarkSir
今天
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部