簡體   English   中英

為什么我使用cordova-plugin-googlemaps得到了空白地圖

[英]Why have I got a blank map using cordova-plugin-googlemaps

我正在使用Cordova框架和jquery mobile開發一個混合應用程序。 我使用cordova-plugin-googlemaps而不是google maps javascript API v3來提高我的應用程序的性能。 當我在android設備上運行我的應用程序時,它會顯示一個空白地圖。 我使用本教程[Windows教程添加cordova-plugin-googlemaps] [1]

[1]: https : //github.com/mapsplugin/cordova-plugin-googlemaps/wiki/Tutorial-for-Windows添加科爾多瓦插件和此[空白地圖] [2]

[2]: https : //github.com/mapsplugin/cordova-plugin-googlemaps/wiki/TroubleShooting : -Blank -Map解決了我的問題,但我還沒有解決。 請幫幫我!

ps:對不起我的英語

當您訪問網頁上沒有的任何資源或資產時,您需要使用whitelist

解決許多常見的白名單問題

替代方法是此快速修復程序-但知道此快速修復程序消除了所有white-list需求。 這會創建一個安全問題 ,您可能不希望通過。

快速修復將此添加到PHONEGAP BUILDconfig.xml
<preference name="phonegap-version" value="3.7.0" />

長答案是這樣的:

Cordova / Phonegap的開發人員的最新失誤中您可以找到:

  • #6 沒有為編譯器設置“ phonegap版本”
  • #7 不為您的插件設置“版本”
  • #10 未在config.xml中添加新的“白名單”和“白名單插件”參數。

對於#6和#7

使用CLI版本時,如果您未為平台分配版本,或者如果未在config.xml中設置phonegap-version,則在“ Phonegap Build”中分配了最新版本。 如果幸運的話,您的程序將按預期運行。 如果您不走運,則會出現一系列級聯錯誤。

幸運的是,我們所有人Holly Schinsky都寫了一篇不錯的博客文章來解釋這一切:

Cordova / PhoneGap版本混亂
http://devgirl.org/2014/11/07/cordovaphonegap-version-confusion/

對於#10

這種相對*新*的要求意味着–要訪問任何網站或Web資源,您必須使用白名單和白名單插件。 如果您使用的是cordova-android@4.0.0或更高版本,則此要求生效。 包括cli-5.1.1和cli-5.2.0。 但是,如果您的版本低於4.0.0(例如3.5.0或3.7.0),那么您將不必添加白名單要求。

需要明確的是,“白名單”已經存在了一段時間,但是插件和要求是非常新的。 如您所料,添加“白名單”后,事實上的開放式訪問功能已被棄用。 或者說另一種方式,事實上的開放式訪問功能已被計划並計划取消。 此更改標志着取消了開放式訪問功能的一步。

此外,內容安全政策(CSP)吸引了眾多開發人員-因為它的宣傳不力。 根據您的使用和使用的Phonegap的版本,CSP需要進入您使用的每個HTML頁面,就像您必須等待“ deviceready”一樣。 但是,在某些情況下根本不需要它。 該文檔有些令人困惑,請仔細閱讀。 該文檔埋在許多最新文檔頁面的底部。

最后,雷蒙德·卡姆登(Raymond Camden)在他的博客中指出, 從科爾多瓦5開始,政策發生巨大變化

相關鏈接

Phonegap Build論壇: 在PGB上升級到cli-5.1.1的注意事項 ,現在需要白名單

盡管這是一個古老的問題,但是仍然有人可以從該頁面訪問。 我更新了這個答案。

JesseMonroy650的答案具有誤導性。 因為原始發問者描述為“他/她使用cordova-plugin-googlemaps而不是google maps javascript api v3”

cordova-plugin-googlemaps是2015年的“ Android版Google Maps SDK”和“ iOS版Google Maps SDK”的包裝插件。

“ cordova-plugin-googlemaps”提供了這些本地SDK的原始JavaScript API。 但是在后面,該插件會操縱本機API,而這些本機API完全不遵循white-list規則,因為它不是JavaScript。


許多人問我“為什么我得到空白地圖?”

有兩個原因:

1)如果您的意思是“空白圖”是“灰色圖”,那么這就是您的API密鑰身份驗證問題。 大多數人都是這種情況。

https://github.com/mapsplugin/cordova-plugin-googlemaps-doc/blob/master/troubleshootings/graymap/README.md

2)如果您指的是“白色地圖”(根本看不到地圖),則可能是用background-color或其他DOM隱藏了地圖。

因為地圖插件會在瀏覽器視圖下顯示本機Google Maps View。

3)即使您不能解決問題,也請在https://github.com/mapsplugin/cordova-plugin-googlemaps/issues問我

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM