我正在尝试创建一个自定义矢量地图使用瓦片,很像iOS 6地图。我见过很多基于栅格的地图解决方案,但到目前为止还没有基于矢量地图的解决方案。
我有整个地图的绘图代码,但不幸的是,它太大了,不能在一个文件中使用。我还有svg。最好是,我喜欢一个解决方案,不涉及重新创建另一种格式的整个地图,而且,我更喜欢如果解决方案是容易的iPhone,即不崩溃/执行缓慢。
有谁有什么想法吗?
谢谢你的帮助,
发布于 2012-10-23 07:03:50
我认为您最好的选择是将SVG输出为矢量PDF。这应该是您可以使用用于创建SVG的任何软件自动实现的功能。PDF的优点是它是一种iOS本身就能理解的矢量格式,并且可以在少量的调用中呈现出来。
然后,您可能想要创建一个可以呈现UIView的子类。您需要使用relevant Core Graphics C stuff,但这并不是很难实现。随机从互联网上下载一个教程给了我this one。
如果你给UIView一个layerClass of CATiledLayer,然后根据整个地图调整它的大小,并把它放在滚动视图中,你应该会得到与地图、Safari等完全相同的平铺行为。你不需要实现任何特殊的东西--如果你捕获视图的drawRect:,你应该会看到它只针对小部分被调用。
不要担心任何关于CATiledLayer的旧教程开始提出线程问题-根据QA1637,你只允许以正常的UIKit方式实现drawRect,并且从iOS 4开始就让线程工作。假设你打算支持iPhone 5屏幕分辨率,你无论如何也不能提交4.3以上的分辨率,即使你不是,我也真的不建议你花费精力。
https://stackoverflow.com/questions/13020767
复制相似问题