瓦片地图
首先解释一下什么是瓦片地图,我们使用的地图(例如百度,高德)都有一个底图,在每一级的缩放比例下,都有一张很大的底图,这张底图按固定的大小切割成若干份,在地图显示时根据显示范围和缩放比例,请求对应几张小的底图,这些底图就是瓦片地图。
项目需求
项目使用的是高德地图,基本的操作可以参考官方文档,然后需要叠加自己的瓦片地图。在官方文档中找了好久,终于在绘制面_绘制瓦片图层这一节中找到了相应的方法。主要步骤是先添加一个MATileOverlay到地图中,然后实现delegate中的mapView:viewForOverlay:函数,返回一个renderer对象。项目中用到的所有地图都要加载这个瓦片服务,所以直接从MAMapView继承出一个自定义MapView。
代码实现
自定义一个PPGMapView,继承自MAMapView。
#import
NS_ASSUME_NONNULL_BEGIN
@interface PPGMapView : MAMapView
@end
NS_ASSUME_NONNULL_END
在初始化时添加自定义瓦片图层。
- (void)commonInit {
// delegate指向自己
self.delegate = self;
// 初始化缩放级别
self.zoomLevel = 18.f;
self.showsUserLocation = YES;
self.userTrackingMode = MAUserTrackingModeFollow;
//