02 使用百度地图获得当前位置的经纬度
O 需求
通过百度地图,获取用户当前位置的经纬度
一 准备
确保你已按照上篇《01 如何将百度地图加入IOS应用程序?》完成了相关功能。本篇将在上一篇的基础上进行修改。
二 编码
(New标示本次新添加的代码;Delete表示本次需要删除的代码;Modify表示本次被修改的代码)
1、在ViewController.h中添加引入BMKMapViewDelegate的声明,如下
1 @interface ViewController : UIViewController<……,BMKMapViewDelegate> //New 2 {…… }
在ViewController.mm中修改代码如下
1 - (void)viewDidLoad 2 { 3 …… 4 //创建一张百度地图 5 BMKMapView* mapView = [[BMKMapViewalloc]initWithFrame:CGRectMake(0, 0, 320, 480)]; 6 [mapView setShowsUserLocation:YES]; // New 开启定位功能 7 mapView.delegate = self; // New 将委托变量指向Controller 8 [self.viewaddSubview:mapView]; 9 } 10 11 12 /** 13 在地图View将要启动定位时,会调用此函数 14 @param mapView 地图View 15 下面的这个方法,貌似并没有被启动啊?是否是可有可无的? 16 */ 17 - (void)mapViewWillStartLocatingUser:(BMKMapView *)mapView 18 19 { 20 NSLog(@"start locate"); 21 } 22 #pragma mark - 实现 BMKMapViewDelegate 中的方法 23 /** 24 用户位置更新后,会调用此函数 25 @param mapView 地图View 26 @param userLocation 新的用户位置 27 在实际使用中,只需要 [mapView setShowsUserLocation:YES]; mapView.delegate = self; 两句代码就可以启动下面的方法。疑问,为什么我的位置没有移动的情况下,这个方法循环被调用呢? 28 */ 29 - (void)mapView:(BMKMapView *)mapView didUpdateUserLocation:(BMKUserLocation *)userLocation 30 { 31 if (userLocation != nil) { 32 NSLog(@"%f %f", userLocation.location.coordinate.latitude, userLocation.location.coordinate.longitude); 33 } 34 } 35 36 /** 37 定位失败后,会调用此函数 38 @param mapView 地图View 39 @param error 错误号,参考CLError.h中定义的错误号 40 */ 41 - (void)mapView:(BMKMapView *)mapView didFailToLocateUserWithError:(NSError *)error 42 43 { 44 if (error != nil) 45 NSLog(@"locate failed: %@", [error localizedDescription]); 46 else { 47 NSLog(@"locate failed"); 48 } 49 }
执行后,将控制台打印出你当前的地理坐标:
此时,手机端的地图上还没有任何反应,别急,我们将在下一篇中让地图定位到当前的地理位置。
三 下载 ...... 去下载源代码咯......
四 疑问
1、在百度给的Demo中,百度在实现 BMKMapViewDelegate中的方法中实现了如下- (void)mapViewWillStartLocatingUser:(BMKMapView *)mapView方法,但是在实际测试中,貌似此方法并没有被执行?这是为什么呢?
2、当前的地理位置没有改变的情况下,为什么- (void)mapView:(BMKMapView *)mapView didUpdateUserLocation:(BMKUserLocation *)userLocation 方法会被循环触发?
02 使用百度地图获得当前位置的经纬度相关推荐
- 百度地图实现公司位置的定位,可拖动修改公司位置。
百度地图实现公司位置的定位,可拖动修改公司位置.只需要维护x轴和Y轴的数据到数据库就可以了 可拖动,可搜索. <html><head><script src=" ...
- android h5调用百度地图,h5页面如何调用百度地图获取当前位置(代码)
本篇文章给大家带来的内容是关于h5页面如何调用百度地图获取当前位置(代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 在项目中越来越多的用到了手机的GRS定位功能,使用百度地图A ...
- vue3调用百度地图标注选择位置并获取经纬度
vue3调用百度地图标注选择位置并获取经纬度 参考了很多文章,最终结合百度文档各有采取完成地图选取经纬度. 第一步:引入百度地图,在当前需要地图的页面引入就行. const loadMapScript ...
- 百度地图获取当前位置街道_轻松查看街道地址位置地图
百度地图获取当前位置街道 Have you found the address for a place that you would like to visit while browsing but ...
- 项目中对百度地图的点击获取经纬度
一般来说,项目中用到了百度地图的话,就是需要和地图进行交互操作的,先说说点击事件把. 一.点击地图上某个点获取该点的经纬度: 点击地图获取该位置的经纬度的话,一想想就知道应该使用类似于onClickL ...
- 第三方百度地图-----展示所在位置显示小圆点
build sourceSets {main {jni.srcDirs=[]jniLibs.srcDirs = ['libs']}} 清单文件----value创建的key值 <meta-dat ...
- android自定义百度地图导航,Android百度定位导航之基于百度地图移动获取位置和自动定位...
一.问题描述 使用百度地图实现如图所示应用,首先自动定位当前我起始位置(小圆点位置),并跟随移动不断自动定位我的当前位置 百度Api不同版本使用会有些差异,本例中加入lib如下: 二.编写MyAppl ...
- h5页面调用百度地图获取当前位置并在地图上标注出来
在项目中越来越多的用到了手机的GRS定位功能,使用百度地图API获取当前位置并在地图上标注出来首先应该在官网上注册key 点击获取密钥,注册获取key. 完整代码如下: <!DOCTYPE ht ...
- Flutter 调用百度地图APP实现位置搜索、路线规划
志在巅峰的攀登者,不会陶醉在沿途的某个脚印之中,在码农的世界里,优美的应用体验,来源于程序员对细节的处理以及自我要求的境界,年轻人也是忙忙碌碌的码农中一员,每天.每周,都会留下一些脚印,就是这些创作的 ...
最新文章
- 昨日,GitHub宣布收购npm,微软或成最大赢家!
- [导入]失败的软件实训课
- 笔记2——C++ static关键字与一维动态数组的使用
- android怎么关联geny,Android studio下添加genymotion神器
- [Jarvis OJ - PWN]——Backdoor
- 一个基于SAP Hybris Commerce和微信的社交电商原型介绍
- python可变序列_python序列中可变数据类型有什么
- [解题报告]HDU 1249 三角形
- python之做一个简易的翻译器(一)
- Google C++ 编码规范
- 新款iPhone现已曝光,跟风华为“浴霸三摄”,没有5G版本
- python xlwt操作excel
- 磁盘I/O高居不下,通过什么来查看占用I/O的进程?
- 官方华为鸿蒙os正式推送的版本,鸿蒙OS 2.0他来了!华为HarmonyOS 2.0开发者公测版正式推送...
- [游戏技术]暗黑破坏神2重制版 DIABLOⅡ RESURRECTED
- 40题计算机程序设计基础(C语言)编程习题
- 需求与商业模式分析-1-商业模式画布
- oracle中on和where的区别,Oracle里面的外连中where和on之后and有啥区别
- 线性代数之特征值与特征向量的求法
- ros建图过程中给上位机发布地图信息