MKMapView基于图块的叠加层

时间:2010-01-26 03:13:52

标签: iphone cocoa-touch mkmapview

我想在MKMapView上绘制基于图块的叠加层,但没有明显的方法可以做到这一点。

这看起来很棘手,因为您可以使用MKMapView缩放到任何级别(与谷歌地图不同)。

是否有人试图这样做?

3 个答案:

答案 0 :(得分:2)

如果这个问题仍然存在,读者应该查看WWDC2010的HazardMap和TileMap演示代码。

答案 1 :(得分:0)

我正在开发一款游戏,我需要在地图上叠加对象并让它们随地图滚动和缩放。

使用注释视图我已经能够解决第一个问题并部分解决第二个问题。注释会随地图自动移动。为了缩放它们,我使用mapView:regionDidChangeAnimated:委托方法在缩放事件后调整我的注释。问题是注释在缩放手势完成之后才会重新缩放。

除了向Apple提交错误请求他们为地图叠加层提供API之外,我可以想到两种方法:

  1. 在MKMapView的顶部放置一个(大部分不可见)视图,该视图拦截缩放和滚动事件,处理它们,并将它们传递到地图视图。

  2. 使用Open Street Map或RouteMe library中的切片自定义开源CloudMade(前者很慢,后者需要花钱)。但它是完全开源的,所以你应该能够覆盖你心中的内容。您还可以运行自己的磁贴服务器,在服务器上执行磁贴覆盖。

答案 2 :(得分:0)

我后来发现的东西:

http://www.gisnotes.com/wordpress/2009/10/iphone-devnote-14-drawing-a-point-line-polygon-on-top-of-mkmapview/

不是基于磁贴的解决方案,但仍然很有趣。