iOS App地图功能开发(1)

现如今很多APP都已经把地图用作基本的使用功能,除去国内几大地图厂家之外,我们日常使用的餐饮类App,社交类App,汽车行业App等都集成了地图功能。
本次的主题就是如何在iOS开发中将地图功能集成,并开发出基于地图框架的一系列的功能。

首先,要根据自己或者公司的项目规划,确定好使用的地图框架或者地图开放平台。例如:苹果的MapKit,百度地图开放平台,高德地图开放平台,谷歌地图等,其实地图的开发都是大同小异的。

那么这里主要是讲述MapKit和百度地图的使用。

先看下MapKit

如果使用了苹果的MapKit,那就需要去苹果开发者官网阅读开发文档(https://developer.apple.com/documentation/mapkit?language=objc)了,这里我做了一些简要的翻译:

MapKit

主题

地图基础
当您想要显示地理内容时,将地图视图合并到您的界面中。
MKMapView
可嵌入的地图接口,类似于地图应用程序提供的接口。
MKMapItem
地图上的一个兴趣点。

地图坐标
使用地理坐标或特定于地图的点在地图上指定位置。
MKCoordinateRegion
以特定经纬度为中心的矩形地理区域。
MKCoordinateSpan
地图区域的宽度和高度。
MKMapRect
二维地图投影上的矩形区域。
MKMapPoint
二维地图投影上的点。
MKMapSize
二维地图投影上的宽度和高度信息。
MKDistanceFormatter
在地理距离和基于字符串的距离表达式之间进行转换的实用程序对象。

自定义地图
自定义映射视图的外观。
MKMapCamera
用于定义地图外观的虚拟摄像机。
MKCompassButton
显示相关地图的当前罗盘航向的专门化视图。
MKScaleView
显示相关地图的当前比例尺信息的专门化视图。
MKAnnotation
将内容与特定地图位置关联的接口。
MKUserTrackingButton
一个专门的按钮,允许用户在用户跟踪模式之间切换。
MKUserTrackingBarButtonItem
一个专门的栏按钮项,允许用户在用户跟踪模式之间切换。

注释和覆盖
在地图表面放置自定义内容。注释被锚定到一个特定的地图坐标,并覆盖一个区域。
MKPlacemark
对地图上某个位置的友好描述。
MKAnnotation
将内容与特定地图位置关联的接口。
MKAnnotationView
注释对象之一的可视表示形式。
MKOverlay
将内容与特定地图区域关联的接口。
MKOverlayRenderer
用于在地图表面绘制覆盖的共享基础设施。
    MapKit Annotations
    按原样在映射中使用这些注释对象。
    MapKit Overlays
    按原样使用这些覆盖。

地理特征
使用GeoJSON向地图添加地理特性。
展示室内地图
使用室内地图数据格式(IMDF)显示具有自定义覆盖和感兴趣点的室内地图。
MKGeoJSONDecoder
将GeoJSON对象解码为MapKit类型的对象。
MKGeoJSONFeature
GeoJSON特征的解码表示。
MKGeoJSONObject
可以由GeoJSON解码器返回的对象。

方向
使用你自己的服务提供方向,或者从苹果服务器询问方向。
MKDirections
一个实用程序对象,它根据您提供的路线信息计算方向和旅行时间信息。
MKDirectionsRequest
路线的起点和终点,以及计划的交通方式。
MKDirectionsResponse
由Apple服务器响应您的一个问路请求而返回的路线信息。
MKETAResponse
苹果服务器返回的旅行时间信息。
MKRoute
请求的开始点和结束点之间的单一路由。
MKRouteStep
整个路线的一部分。

Placemark和本地搜索
搜索感兴趣的点,并实现用户键入短语的搜索完成。
寻找附近的名胜古迹
根据用户的部分搜索查询提供自动搜索完成,并在地图上搜索附近的相关位置。
MKPlacemark
对地图上某个位置的友好描述。
MKLocalSearch
用于启动基于地图的搜索并处理结果的实用程序对象。
MKLocalSearchResultType
表示搜索结果类型的选项。
MKLocalSearchCompleter
用于根据提供的部分搜索字符串生成完成字符串列表的实用程序对象。
MKLocalSearchCompleterResultType
指示搜索完成类型的选项。
MKLocalSearchCompletion
完成部分字符串的完全形成的字符串。

兴趣点
为兴趣点类别创建过滤器,以便在您的地图、搜索或自动完成结果中包含或排除。
优化带有过滤和相机约束的地图视图
显示与用户相关的地图,过滤感兴趣的点和搜索结果,并限制可见区域。
MKPointOfInterestFilter
指定在地图视图、本地搜索或本地搜索完成器中包含或排除的兴趣点类别的列表。
MKPointOfInterestCategory
兴趣点类别。

静态映射快照
捕获映射内容到可以在其他地方显示的图像。
MKMapSnapshotter
用于捕获基于地图的图像的实用程序对象。
MKMapSnapshot
由snapshotter对象生成的图像。

错误
MKErrorDomain
MapKit的错误域。
MKErrorCode
MapKit框架的错误常量。

具体使用到什么类你可以可以点击该类名查看该类详细的说明或者去XCode直接看源码。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,294评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,493评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,790评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,595评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,718评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,906评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,053评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,797评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,250评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,570评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,711评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,388评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,018评论 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,796评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,023评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,461评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,595评论 2 350