使用GPS定位系统,可以精确地定位你当前所在的地理位置,但由于GPS接收机需要对准天空才能工作,因此在室内环境基本无用。

另一个找到自己所在位置的有效方法是使用手机基站,手机开机时,它会与周围的基站保持联系,如果你知道这些基站的身份,就可以使用各种数据库(包含基站的身份和它们的确切地理位置)计算出手机的物理位置。基站不需要卫星,和GPS不同,它对室内环境一样管用。但它没有GPS那样精确,它的精度取决于基站的密度,它在基站密集型区域的准确度最高。

  第三种方法是依赖Wi-Fi,使用这种方法时,设备连接到Wi-Fi网络,通过检查服务提供商的数据确定位置,它既不依赖卫星,也不依赖基站,因此这个方法对于可以连接到Wi-Fi网络的区域有效,但它的精确度也是这三个方法中最差的。

提示:第一代iPhone并没有配置GPS接收器,基站方式不能应用到iPod Touch上,因为它不是手机。

在iPhone上,苹果提供了定位框架内核,以帮助你确定你的物理位置,这个框架的美妙之处在于它使用了前面提到的所有三种方法,具体使用的是哪种方法对于开发者来说是透明的,开发人员只需要指定所需要的精度,定位内核将会以最佳方式确定定位结果。iPhone SDK的定位内核框架让你可以很容易实现基于位置的设备,此外,MapKit(包括在iPhone SDK中)可以在地图上显示位置信息。

涉及到的核心组件:CoreLocation;CLLocationManager;MapKit

       在Xcode中框架组上点击右键,增加两个新的框架MapKit.framework和CoreLocation.framework。

获取坐标:CoreLocation

       为了能让系统知道你的位置,必须要让它知道你的坐标,因此我们首先要做的就是获取到你当前位置的坐标。

先要在你的头文件中申明CLLocationManager,CLLocationManager是用来实现获取坐标等一系列功能的类。若要使用CLLocationManager类,需要在你的视图控制器类中实现CLLocationManagerDelegate协议

在使用对象之前,你应该检查用户是否开启了设备的定位服务。实现CLLocationManager的实例。在实现其实例的时候必须分配delegate,desired accuracy,和distance filter属性和实现StartUpdatingLocation方法。你可以使用desiredAccuracy属性指定想要的精度,使用下面的常量指定想要的精度:(kCLLocationAccuracyBest;kCLLocationAccuracyNearestTenMeters;kCLLocationAccuracyHundredMeters;kCLLocationAccuracyKilometer;kCLLocationAccuracyThreeKilometers)。distanceFilter属性让你指定设备必须移动多少距离位置信息才会更新,这个属性的单位是米。如果你想得到所有移动的通知,可以使用kCLDistanceFilterNone常量。最后,使用startUpdatingLocation方法启动位置管理器。

接下来获取位置信息。要获得位置信息,需处理下面两个事件:

1.         locationManager:didUpdateToLocation:fromLocation:

2.         locationManager:didFailWithError:

当获得一个新的定位值时,设备触发locationManager:didUpdateToLocation:fromLocation:事件,如果位置管理器不能确定位置信息,就会触发locationManager:didFailWithError:事件。当设备可以确定位置时,你可能想显示经纬度值和精度,这时你可以使用CLLocation对象,它的horizontalAccuracy属性可以指定精度范围,单位是米。

显示地图:MapKit

       iPhone 3.0 SDK包括了Map Kit API,它可以让你在程序中显示Google Map。

当视图载入时创建一个MKMapView类的实例,设置显示的地图类型。

  当位置信息得到更新时,使用mapView对象的setRegion:方法放大地图。

iphone map(地图)的实现相关推荐

  1. uni app map 地图 漂浮问题及方案

    uni app map 地图 漂浮问题及方案 文章页有图片导致的问题,图片没加载出来,导致文章内容高度不固定,如果图片没加载出来,高度就是0,如果此时开始加载map,那么map就在那里加载,map原生 ...

  2. 微信小程序map地图轨迹回放的问题

    map地图轨迹回放报FaceTo的错误 如果你的轨迹回放报出这个错误,那么你可能和我一样,是在轨迹回放还未结束的时候或者说是还没有到一个点停止的时候就更新了新的位置信息,想让地图重新的渲染并执行. 这 ...

  3. pyecharts绘制省级地图(Map地图、Geo动态涟漪散点图、Geo动态轨迹图)

    Ⅰ.原始数据 第七次全国人口普查(广东人口数据) 数据来源:广东统计年鉴 城市 人口 广州市 18676605 深圳市 17560061 珠海市 2439585 汕头市 5502031 佛山市 949 ...

  4. Tiled Map 地图素材大全下载

    这都是我以前收集的哈. 全部都是提供打包下载的哈~ 大家喜欢请留言支持~ 谢谢大家的支持~ Tiled Map 地图素材大全的下载地址是:www.2gei.com/tiled/

  5. uni-app使用map组件开发map地图,获取后台返回经纬度进行标点

    unia-pp实现map组件,获取后台返回经纬度进行标点 官方文档使用步骤 代码示例 官方文档使用步骤 使用uniapp是因为它是一个使用vue.js开发所有前端应用的框架,开发者编写一套代码,可以发 ...

  6. uni-app map 地图

    html <template><view class="box"><!-- <view class="inputDevice" ...

  7. uniapp使用map地图组件

    本人所在的公司最近在做共享电动车的项目,打开该应用看到的就是一副地图,可以获取附近共享电动车的地址.状态等信息,开发这个应用程序还需要在地图上规划路线.动态显示轨迹.轨迹回放等功能.共享开发的项目功能 ...

  8. 微信小程序—map地图实现标记多个位置

    前言: 在这里给大家介绍一个地标搜索网站(可精准获取经纬度,备注有介绍):  中国城市列表-卫星地图-地球在线 小程序官方地图 map 文档参考 小程序官方地图 map 相关 API (地图组件控制) ...

  9. echarts map 地图做出立体效果

    echarts map 地图做出立体效果 最近做项目,需要用到立体地图,但是立体地图上还需要很多其他效果,所以用了 map 平面地图 做出了立体效果. 想知道怎么弄的,扣1,欢迎来交流.

  10. AR 3D Map地图技术

    AR 3D Map地图技术 工业AR的创业相对于消费级AR的创业难很多,这里有一个市场的天然门槛和壁垒,对工业场景不理解,就做不出符合工业场景的AR产品. 人才壁垒 工业AR创业对创始人和联合创始人的 ...

最新文章

  1. Google Colab使用教程
  2. Leetcode 1. 两数之和 (Python版)
  3. HarmonyOS常见问题解答
  4. VC++ (二)类的访问级别
  5. linux 文件查找帮助命令 , 查看网络链接信息, 历史命令
  6. 解决IE9下JQuery的ajax失效的问题
  7. oracle 10g在线重定义新特性——关联对象自动重命名(二)
  8. 变迁是这个时代最好的机遇
  9. 如何在word中的图片上画圈标注_教你如何轻松在图片上画圈圈、画箭头、写注释...
  10. 数组、单链表和双链表介绍 以及 双向链表的C/C++/Java实现
  11. Win7/Vista激活后添加grub引导Linux最简单方法!无需命令行!
  12. 【推荐系统论文精读系列】(一)--Amazon.com Recommendations
  13. MAC OS ssh key永久保存
  14. 数据分析----数据清洗
  15. 好书整理系列之-设计模式:可复用面向对象软件的基础 4
  16. 加密货币世界里的「数字乞丐」
  17. Hadoop的组成部分和业务场景
  18. opengl模拟太阳效果
  19. BTM主题模型构建及困惑度计算
  20. Java实现视频(mp4/flv/..)及图片(jpg/jpeg/png/..)给前端调用

热门文章

  1. 卢松松:我眼中的360和搜狗浏览器
  2. eclipse怎么导入java文件_eclipse怎么保存java文件?如何导入java文件?
  3. 微博动态来自Android,Android新浪微博开发(二)主UI的实现:动态建立TabActivity
  4. 树莓派Pico W无线WiFi开发板使用方法及MicroPython网络编程实践
  5. HTML学生个人网站作业设计:动漫网站设计——海贼王(8页) HTML+CSS+JavaScript 简单DIV布局个人介绍网页模板代码 DW学生个人网站制作成品下载
  6. 大可乐android 4.3刷机包,国产Android 4.2:
  7. uniapp联系在线客服功能,H5和APP都能使用
  8. 后台接口字符串转数组
  9. 树莓派高级开发------总线地址、物理地址和虚拟地址的认识
  10. Photoshop用抽出法抠婚纱图技巧实例集合