【问题标题】:Are tile overlays possible with the iPhone's MapKitiPhone 的 MapKit 是否可以叠加平铺
【发布时间】:2011-01-28 18:57:34
【问题描述】:

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

是否有可能使用 CATiledLayer 实现一个解决方案来实现一个平铺解决方案。 iPhone 是否像谷歌地图一样使用标准的 256x256 瓷砖?对此的任何指导或帮助将不胜感激。如果不可能的话,我宁愿不要浪费几个星期来尝试实现它。

【问题讨论】:

  • 您介意进一步详细说明您是如何完成此任务的吗?我正在尝试做同样的事情。

标签: iphone objective-c mapkit mkmapview catiledlayer


【解决方案1】:

FWIW,我花了很多时间寻找合适的解决方案……在深入研究 CATiledLayer 示例之前,我注意到 MKOverlay 和 MKOverlayView — 这是 iOS 4 中的新功能,可以直接插入 MKMapView。

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

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

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

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

【讨论】:

    【解决方案2】:

    MapKit 没有提供太多自定义图块源的方式(事实上,它完全没有提供任何自定义源:您要么使用 Google 地图,要么不使用)。不过,我自己也遇到过类似的问题,我发现 RouteMe 是自定义地图的一个很好的解决方案:http://code.google.com/p/route-me/

    内置支持 OpenStreetMaps、OpenAerialMaps(目前离线)、Virtual Earth 和 Yahoo Maps,但该框架也可以很容易地插入您自己的图块源。

    【讨论】:

    • 感谢您的回答。实际上,我现在有一个基于 MapKit 的平铺解决方案。我的解决方案实际上需要一个映射提供程序,因为我只有覆盖。如果有什么事情发生,我会考虑在 Yahoo Maps 中使用 route-me。
    【解决方案3】:
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-31
    相关资源
    最近更新 更多