iPhone';s地图套件

iPhone';s地图套件,iphone,objective-c,mapkit,mkmapview,catiledlayer,Iphone,Objective C,Mapkit,Mkmapview,Catiledlayer,我已经设置了一个用于GoogleMapsJavaScriptAPI的tile源代码。我正在尝试将其翻译为与iPhone MapKit一起使用。我已经正确地实现了javascript将级别缩放到mapkit中。无论何时调用-(void)mapView:(MKMapView*)mapView区域IDChangeAnimated:(BOOL)animated,我都会基于相同的中心点将区域捕捉到最近的缩放级别 是否可以使用CATiledLayer实现解决方案以实现平铺解决方案。iPhone是否像谷歌地图

我已经设置了一个用于GoogleMapsJavaScriptAPI的tile源代码。我正在尝试将其翻译为与iPhone MapKit一起使用。我已经正确地实现了javascript将级别缩放到mapkit中。无论何时调用
-(void)mapView:(MKMapView*)mapView区域IDChangeAnimated:(BOOL)animated
,我都会基于相同的中心点将区域捕捉到最近的缩放级别


是否可以使用CATiledLayer实现解决方案以实现平铺解决方案。iPhone是否像谷歌地图一样使用标准的256x256瓷砖?在此方面的任何指导或帮助都将不胜感激。如果不可能的话,我宁愿不要浪费几周的时间来实现这一点。

MapKit没有提供太多的自定义磁贴源(事实上,它完全没有提供任何自定义源:你要么使用谷歌地图,要么不使用谷歌地图)。不过,我自己也遇到过类似的问题,我发现RouteMe是定制地图的一个非常好的解决方案:


OpenStreetMaps、OpenAerialMaps(目前处于脱机状态)、Virtual Earth和Yahoo Maps都有内置支持,但该框架也使插入自己的瓷砖源代码变得非常容易。

FWIW,我花了相当多的时间寻找一个像样的解决方案……在深入研究CATiledLayer示例之前,我注意到了MKOverlay和MKOverlayView,它们在iOS 4中是新的,并且直接插入到MKMapView中

找不到使用MKOverlays提取任意图像数据(例如,从远程磁贴服务器提取UIImages)的良好示例实现,但我对API进行了足够的修改,直到它正常工作为止

构建了一个简单的示例实现,以防任何人(如我)需要参考:


希望这对将来的人有所帮助。

是的,因为iOS 7,MKTileOverlay可以:


我很感激你的回答。我现在有一个基于MapKit的平铺解决方案。我的解决方案实际上需要一个映射提供程序,因为我只有覆盖。如果有什么事情发生,我会考虑将route me与Yahoo Maps一起使用。您是否介意进一步详细说明您最终是如何做到这一点的?我正试图做同样的事情。