现如今很多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直接看源码。