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 使用百度地图获得当前位置的经纬度相关推荐

  1. 百度地图实现公司位置的定位,可拖动修改公司位置。

    百度地图实现公司位置的定位,可拖动修改公司位置.只需要维护x轴和Y轴的数据到数据库就可以了 可拖动,可搜索. <html><head><script src=" ...

  2. android h5调用百度地图,h5页面如何调用百度地图获取当前位置(代码)

    本篇文章给大家带来的内容是关于h5页面如何调用百度地图获取当前位置(代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 在项目中越来越多的用到了手机的GRS定位功能,使用百度地图A ...

  3. vue3调用百度地图标注选择位置并获取经纬度

    vue3调用百度地图标注选择位置并获取经纬度 参考了很多文章,最终结合百度文档各有采取完成地图选取经纬度. 第一步:引入百度地图,在当前需要地图的页面引入就行. const loadMapScript ...

  4. 百度地图获取当前位置街道_轻松查看街道地址位置地图

    百度地图获取当前位置街道 Have you found the address for a place that you would like to visit while browsing but ...

  5. 项目中对百度地图的点击获取经纬度

    一般来说,项目中用到了百度地图的话,就是需要和地图进行交互操作的,先说说点击事件把. 一.点击地图上某个点获取该点的经纬度: 点击地图获取该位置的经纬度的话,一想想就知道应该使用类似于onClickL ...

  6. 第三方百度地图-----展示所在位置显示小圆点

    build sourceSets {main {jni.srcDirs=[]jniLibs.srcDirs = ['libs']}} 清单文件----value创建的key值 <meta-dat ...

  7. android自定义百度地图导航,Android百度定位导航之基于百度地图移动获取位置和自动定位...

    一.问题描述 使用百度地图实现如图所示应用,首先自动定位当前我起始位置(小圆点位置),并跟随移动不断自动定位我的当前位置 百度Api不同版本使用会有些差异,本例中加入lib如下: 二.编写MyAppl ...

  8. h5页面调用百度地图获取当前位置并在地图上标注出来

    在项目中越来越多的用到了手机的GRS定位功能,使用百度地图API获取当前位置并在地图上标注出来首先应该在官网上注册key 点击获取密钥,注册获取key. 完整代码如下: <!DOCTYPE ht ...

  9. Flutter 调用百度地图APP实现位置搜索、路线规划

    志在巅峰的攀登者,不会陶醉在沿途的某个脚印之中,在码农的世界里,优美的应用体验,来源于程序员对细节的处理以及自我要求的境界,年轻人也是忙忙碌碌的码农中一员,每天.每周,都会留下一些脚印,就是这些创作的 ...

最新文章

  1. 昨日,GitHub宣布收购npm,微软或成最大赢家!
  2. [导入]失败的软件实训课
  3. 笔记2——C++ static关键字与一维动态数组的使用
  4. android怎么关联geny,Android studio下添加genymotion神器
  5. [Jarvis OJ - PWN]——Backdoor
  6. 一个基于SAP Hybris Commerce和微信的社交电商原型介绍
  7. python可变序列_python序列中可变数据类型有什么
  8. [解题报告]HDU 1249 三角形
  9. python之做一个简易的翻译器(一)
  10. Google C++ 编码规范
  11. 新款iPhone现已曝光,跟风华为“浴霸三摄”,没有5G版本
  12. python xlwt操作excel
  13. 磁盘I/O高居不下,通过什么来查看占用I/O的进程?
  14. 官方华为鸿蒙os正式推送的版本,鸿蒙OS 2.0他来了!华为HarmonyOS 2.0开发者公测版正式推送...
  15. [游戏技术]暗黑破坏神2重制版 DIABLOⅡ RESURRECTED
  16. 40题计算机程序设计基础(C语言)编程习题
  17. 需求与商业模式分析-1-商业模式画布
  18. oracle中on和where的区别,Oracle里面的外连中where和on之后and有啥区别
  19. 线性代数之特征值与特征向量的求法
  20. ros建图过程中给上位机发布地图信息

热门文章

  1. iOS开发:沙盒机制以及利用沙盒存储字符串、数组、字典等数据
  2. mysql数据库密码忘记恢复脚本
  3. Linux下修改MAC地址总结
  4. ITFriend站点内測公測感悟
  5. 【转载】云计算的三种服务模式:IaaS,PaaS和SaaS
  6. 使用 Struts2 校验器校验用户注册信息的例子
  7. c++中的对象引用(object reference)与对象指针的区别
  8. 真实工作经验总结——案例解析企业选型操作步骤
  9. 15个新鲜的单页网站设计实例
  10. 区块链技术产生数字货币时代