热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

iOS地图开发

原文地址:http:www.jianshu.comp1ae98a3ff9e4在iOS中,地图开发经常会用到的三个框架,一个是苹果系统自带的MapKit框架,另外两个,一个是百度地图

原文地址:http://www.jianshu.com/p/1ae98a3ff9e4

在iOS中, 地图开发经常会用到的三个框架, 一个是苹果系统自带的MapKit框架, 另外两个, 一个是百度地图BMKMapView, 另一个是高德地图MAMapView. 当时我莫名的对一个问题产生了浓厚的兴趣, 就是百度地图和高德地图英文命名是什么意思!? 于是我就毫不蛋疼的去googol了, 而且还在他俩的社区提问这个问题! 终于, 在我的努力下弄明白他俩代表的意思了.

先看百度地图 BMKMapView, 代表的就是Baidu Map Kit MapView


再看高德地图 MAMapView, “A map”就是一张地图,这个品牌的诞生就是为了做好一张地图。

对于地图开发, 我觉得还应该从高处把握, 然后一点一点往下剥, 思路会非常清晰. 其实, 不单单是地图开发, 对于iOS其他知识的学习也应该从高处把握, 否则, 会感觉凌乱, 没有头绪. 下面我们就看看怎么从高处把握地图开发的框架. (以高德地图为例, 百度地图其实也是一样的, 只是换了个名字).

我觉得这个"高"主要体现在两个方面, 一个是把握好下面这些类, 而这些类就是一个主线, 是形成在我们脑海里的主干线路, 要理清楚哪一条道是转弯道, 哪一条道是单行道, 哪一条是非机动车道, 每一个类的功能都了然于胸, 用的时候自然而然很快速的找到我们所需要的.

解释
BMKMapView 地图显示
BMKLocationService 定位
BMKPoisearch 周边检索
BMKAnnotationView 标注
BMKGeoCodeSearch 地理编码
BMKOverlayView 覆盖物图层
BMKOfflineMap 离线地图

上面是百度地图的一些类, 高德地图其实是一样的, 就是名字变了而已.

解释
MAMapView 地图显示
MAUserLocation 定位
AMapSearchAPI 周边检索
MAAnnotationView 标注
AMapGeocode 地理编码
MAOverlayView 覆盖物图层
MAOfflineMap 离线地图

这个地方你就会明白为什么开头会讲到他俩英文命名的含义了吧. 后面要说到的方法也是这个道理, 咱们要找到共性, 区别差异. 所以, 更简单的就是7个英文单词.

主干解释
MapView 地图显示
Location 定位
Search 周边检索
Annotation 标注
Geocode 地理编码
Overlay 覆盖物图层
Offline 离线地图

所以, 你不用为一长串一长串的方法苦恼了, 这是一个单词匹对的游戏.

好了, 目前为止咱们这个主干就建立起来了, 有什么需求就尽管提吧. 拿最基本的一个需求来说吧---地图显示. 根据咱们的主干知识, 快速定位, 很明了, 就是MAMapView. 到这就要用到我之前博客里说到的方法《iOS学习技巧之"查"》, 点进去看, 注释都是中文的, 是不是更方便了.

当然, 除此之外, 再配合百度地图和高德地图官方资料教程, 以及googol的各种资料, 拿下地图这一块不是问题.

最后分享一些资料给大家

概述 高德地图API

高德地图iOS SDK 3D地图&搜索服务参考手册 V2.4.1

高德地图视频教程

如何使用IOS SDK进行开发01——开发你的第一个地图应用

如何使用IOS SDK进行开发02——附近搜索

如何使用IOS SDK进行开发03——自定义AnnotationView

如何使用IOS SDK进行开发04——路线规划

高德地图开发者认证群: 253476702

http://www.cnblogs.com/milkmap/tag/%E5%9C%B0%E5%9B%BEAPI/

百度地图开发指南

百度地图SDK for iOS v2.6.0 类参考

iOS地图开发


推荐阅读
  • egg实现登录鉴权(七):权限管理
    权限管理包含三部分:访问页面的权限,操作功能的权限和获取数据权限。页面权限:登录用户所属角色的可访问页面的权限功能权限:登录用户所属角色的可访问页面的操作权限数据权限:登录用户所属 ... [详细]
  • LoadRunner中的IP欺骗配置与实践
    为了确保服务器能够有效地区分不同的用户请求,避免多人使用同一IP地址造成的访问限制,可以通过配置IP欺骗来解决这一问题。本文将详细介绍IP欺骗的工作原理及其在LoadRunner中的具体配置步骤。 ... [详细]
  • 本文详细介绍了PHP中的几种超全局变量,包括$GLOBAL、$_SERVER、$_POST、$_GET等,并探讨了AJAX的工作原理及其优缺点。通过具体示例,帮助读者更好地理解和应用这些技术。 ... [详细]
  • 本文概述了在GNU/Linux系统中,动态库在链接和运行阶段的搜索路径及其指定方法,包括通过编译时参数、环境变量及系统配置文件等方式来控制动态库的查找路径。 ... [详细]
  • 本文介绍如何使用 Python 计算两个时间戳之间的时间差,并将其转换为毫秒。示例代码展示了如何通过 `time` 和 `datetime` 模块实现这一功能。 ... [详细]
  • 使用 ModelAttribute 实现页面数据自动填充
    本文介绍了如何利用 Spring MVC 中的 ModelAttribute 注解,在页面跳转后自动填充表单数据。主要探讨了两种实现方法及其背后的原理。 ... [详细]
  • 使用REM和媒体查询实现响应式布局
    本文介绍如何利用REM单位和媒体查询(Media Queries)来创建适应不同屏幕尺寸的网页布局。通过具体示例,展示在不同屏幕宽度下如何调整页面元素的样式。 ... [详细]
  • 神策数据分析基础
    本文介绍了基于用户行为的数据分析方法,包括业务问题的提出与定义、具体行为的识别及统计分析流程。同时,详细阐述了如何利用事件模型(Event Model)来描述用户行为,以及在实际应用中的案例分析。 ... [详细]
  • 2023年1月28日网络安全热点
    涵盖最新的网络安全动态,包括OpenSSH和WordPress的安全更新、VirtualBox提权漏洞、以及谷歌推出的新证书验证机制等内容。 ... [详细]
  • 本文列举了构建和运行 Struts2 应用程序所需的核心 JAR 文件,包括文件上传、日志记录、模板引擎等关键组件。 ... [详细]
  • Windows环境下Oracle数据库迁移实践
    本文详细记录了一次在Windows操作系统下将Oracle数据库的控制文件、数据文件及在线日志文件迁移至外部存储的过程,旨在为后续的集群环境部署做好准备。 ... [详细]
  • 如何高效学习鸿蒙操作系统:开发者指南
    本文探讨了开发者如何更有效地学习鸿蒙操作系统,提供了来自行业专家的建议,包括系统化学习方法、职业规划建议以及具体的开发技巧。 ... [详细]
  • 本文介绍了用户界面(User Interface, UI)的基本概念,以及在iOS应用程序中UIView及其子类的重要性和使用方式。文章详细探讨了UIView如何作为用户交互的核心组件,以及它与其他UI控件和业务逻辑的关系。 ... [详细]
  • 本文由chszs撰写,详细介绍了Apache Mina框架的核心开发流程及自定义协议处理方法。文章涵盖从创建IoService实例到协议编解码的具体步骤,适合希望深入了解Mina框架应用的开发者。 ... [详细]
  • LeetCode 102 - 二叉树层次遍历详解
    本文详细解析了LeetCode第102题——二叉树的层次遍历问题,提供了C++语言的实现代码,并对算法的核心思想和具体步骤进行了深入讲解。 ... [详细]
author-avatar
King347
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有