iOS 系统自带地图整理
2016-03-27 本文已影响1251人
奥斯卡先生
知识补充:
地理解析:把普通用户能看懂的字符串地址转换成经度和纬度;
反地理编码:把经度纬度转换成普通的字符串地址;
为此iOS为地址解析提供了CLGeocoder工具类。
地理编码:
地理编码反地理编码:
自定义锚点:
iOS的锚点只是一个红色的头针,但有时候我们需要自定义锚点的外观。对于iOS的地图而言,锚点实际上由两个部分组成。一是锚点信息:锚点信息包括锚点的位置标题副标题等信息,这些信息由MKAnnotation对象代表。二是锚点控件:锚点控件决定地图上显示的锚点外观,包括锚点图片等。
代码如下:
自定义锚点:获取导航线路
MKDirections类,该类可通过MKDirectionsRequest向apple服务器发送导航请求,apple服务器将会返回一条或多条导航线路,然后通过覆盖层把其中一条或者多条导航线路绘制在地图上,这样可以提醒用户进行导航。
利用CLGeocoder进行地址解析,将用户输入的地址解析成CLPlacemark,利用MKDirections根据起始点,结束点获取导航路线,调用覆盖层绘制导航线路。
总结:
MapKit框架的主要作用就是iOS应用中增加地图功能,mapkit框架的基础部分就是MKMapKit,MKMapViewDelegate,通过这些API即可在应用中增加地图并处理地图加载相关事件。除此之外,如果地图上添加锚点,则需要借助MKAnnotation协议,MKAnnotation和MKPinAnnotationView;如果希望在地图上添加覆盖物,则需要借助于MKOverlay协议和MKOverlayRenderer的各种子类。