我試圖用瓷磚創建一個基於自定義矢量的地圖,非常像iOS 6地圖。我已經看到了許多基於柵格的地圖的很好的解決方案,但到目前爲止沒有任何基於矢量地圖的解決方案。基於平鋪矢量的地圖iOS
我在繪圖代碼中有整個地圖,但不幸的是它在一個文件中使用太大。我也有svg。最好是,我想要一個解決方案,不涉及以另一種格式重新創建整個地圖,而且,如果解決方案在iPhone上很容易,也就是說,不會在其上崩潰或執行緩慢,我寧願這樣做。
有沒有人有任何想法?
感謝您的熱心幫助,
我試圖用瓷磚創建一個基於自定義矢量的地圖,非常像iOS 6地圖。我已經看到了許多基於柵格的地圖的很好的解決方案,但到目前爲止沒有任何基於矢量地圖的解決方案。基於平鋪矢量的地圖iOS
我在繪圖代碼中有整個地圖,但不幸的是它在一個文件中使用太大。我也有svg。最好是,我想要一個解決方案,不涉及以另一種格式重新創建整個地圖,而且,如果解決方案在iPhone上很容易,也就是說,不會在其上崩潰或執行緩慢,我寧願這樣做。
有沒有人有任何想法?
感謝您的熱心幫助,
我認爲最好的辦法是輸出SVG作爲[載體] PDF。這應該是您可以使用您用來創建SVG的任何軟件自動實現的。 PDF的優點在於它是iOS本身可以理解的矢量格式,並且可以在少量調用中呈現。
然後你可能想要做的是創建UIView的子類,可以呈現PDF。你需要下降到relevant Core Graphics C stuff,但這並不是很難實現。隨便從互聯網上下載一個教程給我this one。
如果你給那個UIView一個layerClass
CATiledLayer
然後調整它的整個你的地圖,並將其放置在一個滾動視圖內,你應該得到與地圖,Safari等完全相同的平鋪行爲。你將不必實施任何特別的東西 - 如果你陷入你的觀點drawRect:
你應該看到它被稱爲只適用於小部分。
不要擔心CATiledLayer
上的任何較舊的教程開始提出線程問題 - 根據QA1637,您只允許以正常的UIKit方式實現drawRect:並讓線程在iOS 4之後工作。假設您打算支持iPhone 5的屏幕分辨率,無論如何你都不能提交超過4.3的視頻,即使你不是這樣,我真的不建議你付出努力。
從某種意義上講,繪圖代碼對於一個文件來說太大了?你的意思是,如果你只是不加修改地執行它,那麼處理時間就會很長,或者你用這些工具遇到了某種文件大小錯誤? – Tommy
生成的代碼是10,000,000多個字符,Xcode只會在編譯時凍結 – Simon