2013-05-31 80 views
5

我有一個HTML(phonegap)應用程序,它使用Google Maps API顯示帶有標記的地圖。我想要這個應用程序脫機使用。我知道Google地圖切片無法離線使用(因爲它的許可證)。但是,我想要做的是使用不帶瓦片的地圖界面。谷歌地圖離線:不是瓷磚,但javascript

當在線 - >顯示瓷磚和標記。

脫機時 - >只顯示標記。

但是,谷歌地圖的JS加載是複雜的,我沒有設法緩存它。

謝謝。

回答

6

緩存谷歌地圖javascript 不允許,這是因爲他們的支付系統是基於他們的JavaScript API被用戶加載多少次。一次刷新頁面等於一次Google地圖API調用,並且取決於您創建的合同類型是否已從您購買的API請求總數中減去-1。

如何跟蹤和報告Google Maps API for Business使用情況?

將Google Maps JavaScript API單次加載到頁面中。每次使用API​​的頁面重新加載時, JavaScript API都會重新加載。用戶與地圖的交互(例如,平移,縮放,更改地圖類型的 )不會生成更多的頁面查看。但請注意,如果將API加載到頁面中,即使 API未被用於顯示地圖,也會生成頁面視圖 。

https://developers.google.com/maps/documentation/business/faq#pageview

你當然可以接觸谷歌,並嘗試問你的需求量身定做一些業務解決方案。如果你直接與他們聯繫,我不能100%確定他們提供什麼樣的東西。但是,雖然您的請求有些不可能填充,因爲這些UI代碼也駐留在您需要的Google Maps API JavaScript內。

所以我建議如果你只需要谷歌地圖界面,當離線時,花點時間和實現類似的HTML/CSS /(和一些JS)..標記,你可以在畫布上繪製或使用正常的IMG的和定位。如果您需要實現拖動和縮放 - 使用畫布或其他技術會稍微困難一些,但不是不可能的。但據說這應該是更容易保持在線應用程序,我們都有互聯網:)?當我們考慮谷歌地圖用戶界面也會隨着時間而改變的事實時,讓1on1匹配虛擬離線用戶界面和谷歌地圖,這將是一個非常痛苦的過程,就像他們即將發佈的版本一樣。