可以使用 MapKit 在地图上添加叠加层吗?
Posted
技术标签:
【中文标题】可以使用 MapKit 在地图上添加叠加层吗?【英文标题】:Possible to add an overlay on a map using MapKit? 【发布时间】:2011-06-09 05:21:02 【问题描述】:是否可以在我的应用中添加的地图上添加叠加图像?我正在使用 MapKit 来显示一个区域的地图。我想在图钉出现之前在地图顶部添加一个叠加图像
即堆栈应该是 map->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 在地图上添加叠加层吗?的主要内容,如果未能解决你的问题,请参考以下文章