我需要在mapkit框架中显示OSM覆盖而不是标准的apple map。但我有一个问题,如何在不加载苹果地图的情况下显示OSM叠加?现在我只有一个方法
AxMapKitTileOverlay *mapOverlay = [[AxMapKitTileOverlay alloc] initWithURLTemplate:URLTemplate];
[self.mapView addOverlay:mapOverlay level:MKOverlayLevelAboveLabels];
正在加载平铺覆盖 - 但是如果我在地图初始化期间运行它 - 地图没有改变,当我稍后使用这个方法时 - 我得到苹果默认地图加载。
也许我应该对某些委托方法做出反应?我怎么解决这个问题?
答案 0 :(得分:1)
阻止来自MKTileOverlay
如果您提供的图块内容可以覆盖具有不透明内容的整个图形区域,请将此属性设置为YES。这样做可以作为地图视图的提示,它不需要在您的图块下面绘制任何其他内容。如果您的图块包含任何透明度,请将此属性设置为NO。
执行此操作的最佳位置可能在您的viewDidLoad
方法中。这样,它就会在用户看到任何内容之前发生。
答案 1 :(得分:0)
请确保您正在为要添加的叠加层实施-[MKMapViewDelegate mapView:rendererForOverlay:]
方法,否则它实际上无法绘制。