iOS地图开发

原文地址: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 类参考

原文地址:https://www.cnblogs.com/BeyondAverage0908/p/4805408.html