我正在使用PhoneGap(3.0)構建Android/iOS應用程序。在我的應用程序內存儲地圖瓷磚
該應用程序圍繞着地圖展開,我得出的結論是,從像OpenStreetMap這樣的遠程服務加載切片的方式太慢而且太依賴於3G。
有沒有辦法在我的應用程序中存儲瓷磚?
如果是,我在哪裏可以找到一些文檔,代碼片段等?
我正在使用PhoneGap(3.0)構建Android/iOS應用程序。在我的應用程序內存儲地圖瓷磚
該應用程序圍繞着地圖展開,我得出的結論是,從像OpenStreetMap這樣的遠程服務加載切片的方式太慢而且太依賴於3G。
有沒有辦法在我的應用程序中存儲瓷磚?
如果是,我在哪裏可以找到一些文檔,代碼片段等?
這取決於您是計劃使用自己的自定義地圖還是要使用第三方地圖服務,因此想要將其磁貼緩存爲離線。
在第一種情況下,我有一些這方面的經驗;我製作了一系列引導步行應用程序,使用我在Adobe Illustrator中繪製的大型自定義地圖。有關詳細信息,請參閱我的stackoverflow question and subsequent answer,但總括而言,我使用名爲pngnq的工具來創建我的地圖的高度壓縮的256色8位PNG瓦片,這些瓦片足夠小,可以將各個縮放級別的瓦片與每個應用程序捆綁在一起。在最初的Android設備上使用Phonegap應用程序時,我最終實現了自定義映射解決方案,以實現足夠快的地圖滾動和縮放性能。
在後一種情況下,如果您打算脫機存儲第三方瓷磚,應先檢查你是不是違反了使用條款 - 一些映射提供商明確禁止其地圖數據的離線緩存。
假設這是確定的,你可能要考慮使用leafletjs以支持您的地圖。您可能想要在HTML5離線貼圖和this Phonegap-specific one上查看this blog article。兩者都有GitHub上概念驗證應用程序的鏈接,源代碼可用。
希望這會有所幫助!