可以使用MapKit在地图上添加叠加层吗?

时间:2011-06-09 05:21:02

标签: iphone ios mapkit

是否可以在我的应用中添加的地图上添加叠加图片?我正在使用MapKit来显示某个区域的地图。我想在引脚显示之前在地图上添加叠加图像

即。堆栈应该是 map-> image overlay-> pins

是否可以不进入视图层次结构 - 获取视图的所有子视图,然后在地图顶部添加图像?

感谢。

3 个答案:

答案 0 :(得分:3)

我知道你需要一个静态地图的解决方案,但这里有一个“可拖动的”地图,这也可以解决你的问题。

你应该继承MKOverlayView,并覆盖它(默认为空):

- (void)drawMapRect:(MKMapRect)mapRect zoomScale:(MKZoomScale)zoomScale inContext:(CGContextRef)context

该方法实际上应该执行drawRect在视图中执行的操作。 你还应该实现另一个“should”方法,如果覆盖应该在屏幕上可见,那么该方法应该返回TRUE(在你的情况下......总是?)。

在覆盖方法中,您应该在地图上绘制图像(当然根据mapRect和zoomScale)和中提琴!

更多参考: http://developer.apple.com/library/ios/#documentation/UserExperience/Conceptual/LocationAwarenessPG/AnnotatingMaps/AnnotatingMaps.html#//apple_ref/doc/uid/TP40009497-CH6-SW15

答案 1 :(得分:2)

尝试查看MKOverlayView文档中列出的MKMapView(请参阅link)。此外,可能值得一看“Apple WWDC Session 127 - 使用叠加层自定义地图”。

答案 2 :(得分:0)

如果您观看“Apple WWDC Session 127 - 使用叠加层自定义地图”会话,则会有一部分关于栅格图像作为叠加层。如果您下载2010 WWDC示例代码,则会有一个名为“TileMap”的示例,其中包含执行此操作的代码。