是否可以使用iPhone的MapKit进行平铺覆盖

时间:2010-03-17 21:21:07

标签: iphone objective-c mapkit mkmapview catiledlayer

我已经设置了一个用于Google Maps JavaScript API的磁贴源。我试图将其翻译为与iPhone MapKit一起使用。我已经正确地将javascript缩放级别实现到mapkit中。每当调用- (void)mapView:(MKMapView *)mapView regionDidChangeAnimated:(BOOL)animated时,我会根据相同的中心点将区域捕捉到最近的缩放级别。

是否可以使用CATiledLayer实现解决方案来实现切片解决方案。 iPhone是否使用标准的256x256瓷砖,如谷歌地图本身?任何方向或帮助将非常感谢。如果不可能的话,我宁愿不浪费几个星期来试图实现这一点。

3 个答案:

答案 0 :(得分:12)

FWIW,我花了很多时间寻找一个不错的解决方案......在深入了解CATiledLayer示例之前,我注意到了MKOverlay和MKOverlayView--它们是iOS 4中的新功能并插入到MKMapView中。

无法找到使用MKOverlay的一个很好的示例实现,它可以提取任意图像数据(例如,来自远程磁贴服务器的UIImages),但是我对API进行了修改,直到我完成它为止。

构建一个简单的示例实现,以防任何人(像我)想要一个引用:

http://github.com/mtigas/iOS-MapLayerDemo

希望将来可以帮助某人。

答案 1 :(得分:5)

MapKit没有提供太多自定义磁贴源的方式(实际上,它完全不提供自定义源:您使用谷歌地图或不使用)。我自己一直在处理类似的问题,而且我发现RouteMe对于自定义地图来说是一个非常好的解决方案:http://code.google.com/p/route-me/

OpenStreetMaps,OpenAerialMaps(当前处于离线状态),Virtual Earth和Yahoo Maps存在内置支持,但该框架也可以很容易地插入您自己的磁贴源。

答案 2 :(得分:3)