【问题标题】:Use custom image as map (like Google Maps)使用自定义图像作为地图(如谷歌地图)
【发布时间】:2011-09-14 14:15:47
【问题描述】:

我想使用自定义图像作为地图,其中每个像素都被视为坐标,就像 MKMapView 将 Google Maps 地图与 MKAnnotationView 一起使用一样。我正在搜索与 Apple MapCallouts 的示例代码类似的行为。 IE。我想在自定义图像而不是 Google 地图上的某个像素坐标上放置一个图钉。

是否有人对我应该如何做或在哪里可以找到有关上述行为的一些提示有一些很好的提示?

【问题讨论】:

    标签: iphone objective-c cocoa-touch mkannotationview


    【解决方案1】:

    您看过 WWDC 视频吗?他们有一个示例,他们将自定义图像用于地图图块。您可以在此处下载源代码:http://connect.apple.com/cgi-bin/WebObjects/MemberSite.woa/wa/getSoftware?code=y&source=x&bundleID=20645(查找 TileMap 代码)。

    【讨论】:

    • 感谢 WWDC 视频的提示,以前没看过。 TileMap 示例并不是我真正想要的。我希望能够使用我想要的任何图像,而不是依赖于将该图像拟合到谷歌地图。图片不得与现实世界有联系。
    【解决方案2】:

    WWDC 2010 sample code 中,有一个名为Tiled Image 的示例项目,它使用CATiledLayer

    点击以下链接:

    http://developer.apple.com/library/mac/#documentation/GraphicsImaging/Reference/CATiledLayer_class/Introduction/Introduction.html

    https://github.com/mtigas/iOS-MapLayerDemo
    https://github.com/route-me/route-me

    希望这会有所帮助。

    【讨论】:

      【解决方案3】:

      您正在绘制的内容实际上与地图或 MKMapView 相关吗?如果没有,请查看 Core Graphics,您可以在其中逐像素绘制图像,然后将该图像分流到屏幕上。 如果它与地图相关,那么 TileMap 示例仍然可以提供帮助。扔掉所有关于瓷砖的东西,看看 TileOverlayView.m(我想,已经有一段时间了)。那里有一个函数,MKMapView 正在调用它的所有 MKOverlays 来填充地图矩形,以便它可以在屏幕上显示它。 TileMap 通过在磁盘上找到一个文件并将其绘制到框架中来实现这一点,但您可以通过绘制自己的像素来实现。

      【讨论】:

        猜你喜欢
        • 2014-02-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-09-21
        • 2020-04-17
        • 1970-01-01
        相关资源
        最近更新 更多