【问题标题】:Drawing World Map - Performance & Interaction - iOS绘制世界地图 - 性能与交互 - iOS
【发布时间】:2014-04-26 17:31:29
【问题描述】:

我想使用 Shapefile 生成交互式世界地图。我能够导入数据并使用 CG Paths 将地图绘制到一个大视图中。

地图需要支持平移、缩放和触摸交互。为此,我创建了一个 UIScrollView 并将 MapView(绘制了所有国家的大视图)放入其中。

我需要改进它的两个方面:

性能/渲染

我绘制的地图比屏幕尺寸大得多,以便在放大时看起来合理。这样做有一些问题。首先,当我缩小时,我需要边框笔触/线条更宽,以便它们可见。当我放大时,我希望笔画更细。此外,当我放大时,我仍然可以看到地图是模糊的。我不想过多地增加视图大小。

如何使地图在放大时看起来清晰?我试图在放大时重新绘制地图,但时间太长了。我能以某种方式只重新渲染屏幕上的东西吗?

触摸交互

我需要能够为每个不同的国家/地区举办触摸活动。

可能的方法?

我正在考虑尝试将每个国家/地区划分为自己的观点。这应该使触摸易于处理。然后我想我可以重新绘制屏幕上/缩放到的适当视图。

我玩过一个执行类似操作的应用(“世界地图”),我可以看到,当您平移或缩放时,地图会先模糊一秒钟,然后变得清晰。那里发生了什么?

【问题讨论】:

  • 我不确定这是否可行(我从未尝试过,也没有仔细研究过 API)但我认为也许你可以使用地图视图和自定义图块 API (可能使用 NSURLProtocol)根据需要为不同的缩放级别渲染图块。
  • 好吧,我有点想不使用 MapKit,因为我实际上并不想显示真实的地图。只是一个图形表示。
  • 你找到解决办法了吗?

标签: ios iphone ios7 core-graphics


【解决方案1】:

使用 mapkit 并提供自定义图块。不要重新发明轮子并尝试编写另一个地图框架

【讨论】:

    【解决方案2】:

    我认为您必须从大地图图像创建不同的缩放区域图像。怎么说......想象一下谷歌地图,它是如何工作的......我认为它为世界的每个区域提供了许多不同的缩放因子图像......然后在用户需要显示时合并显示在屏幕上......

    使用代码实现地图效果在当前iPhone设备上是不可能的,超出了iOS设备的能力

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-25
      相关资源
      最近更新 更多