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

Posted

技术标签:

【中文标题】可以使用 MapKit 在地图上添加叠加层吗?【英文标题】:Possible to add an overlay on a map using MapKit? 【发布时间】:2011-06-09 05:21:02 【问题描述】:

是否可以在我的应用中添加的地图上添加叠加图像?我正在使用 MapKit 来显示一个区域的地图。我想在图钉出现之前在地图顶部添加一个叠加图像

即堆栈应该是 ma​​p->image overlay->pins

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

谢谢。

【问题讨论】:

叠加层是否必须与底层地图一起移动? 不,地图实际上也没有。只是有了地图,我更容易为兴趣点添加图钉。 【参考方案1】:

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

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

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

该方法实际上应该做drawRect 在视图中所做的事情。 您还应该实现另一个“应该”方法,如果覆盖应该在屏幕上可见(在您的情况下......总是?),则应该返回 TRUE。

在被覆盖的方法中,你应该在地图上绘制你的图像(当然根据 mapRect 和 zoomScale),还有 viola!

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

【讨论】:

【参考方案2】:

尝试查看MKMapView 文档中概述的MKOverlayView(请参阅link)。此外,可能值得回顾一下“Apple WWDC Session 127 - Customizing Maps with Overlays”。

【讨论】:

这会在地图上添加一个区域以及一个图钉。我想在地图顶部添加图像。引脚将添加到图像顶部。本质上我想在图钉和地图之间添加一个图像。 图片将是静态图片。【参考方案3】:

如果您观看“Apple WWDC Session 127 - Customizing Maps with Overlays”会议,其中有一部分是关于将光栅图像作为叠加层的。如果您下载 2010 WWDC 示例代码,则会有一个名为“TileMap”的示例,其中包含执行此操作的代码。

【讨论】:

以上是关于可以使用 MapKit 在地图上添加叠加层吗?的主要内容,如果未能解决你的问题,请参考以下文章

MapKit:如何从非常大的图像中添加新的地图层

iOS MapKit,细节较少

需要在 IOS 的 mapview 上添加一个固定的叠加层

在 iOS MapKit 中,如何在地图旋转时为注释设置动画?

在Objective C中显示MapKit“地图加载错误”

我可以在 Maven 的配置文件中使用叠加层吗? [关闭]