两个如何阻止加载Apple map并从OSM MKTileOverlay开始

时间:2015-02-10 12:19:42

标签: ios objective-c mapkit

我需要在mapkit框架中显示OSM覆盖而不是标准的apple map。但我有一个问题,如何在不加载苹果地图的情况下显示OSM叠加?现在我只有一个方法

AxMapKitTileOverlay *mapOverlay = [[AxMapKitTileOverlay alloc] initWithURLTemplate:URLTemplate];
[self.mapView addOverlay:mapOverlay level:MKOverlayLevelAboveLabels];

正在加载平铺覆盖 - 但是如果我在地图初始化期间运行它 - 地图没有改变,当我稍后使用这个方法时 - 我得到苹果默认地图加载。

也许我应该对某些委托方法做出反应?我怎么解决这个问题?

2 个答案:

答案 0 :(得分:1)

阻止来自MKTileOverlay

的MapKit地图集canReplaceMapContent
  

如果您提供的图块内容可以覆盖具有不透明内容的整个图形区域,请将此属性设置为YES。这样做可以作为地图视图的提示,它不需要在您的图块下面绘制任何其他内容。如果您的图块包含任何透明度,请将此属性设置为NO。

执行此操作的最佳位置可能在您的viewDidLoad方法中。这样,它就会在用户看到任何内容之前发生。

答案 1 :(得分:0)

请确保您正在为要添加的叠加层实施-[MKMapViewDelegate mapView:rendererForOverlay:]方法,否则它实际上无法绘制。