2017-10-18 107 views

回答

1

您可以加載頁面,腳本可以加載等,現在由CSP(內容安全策略)來控制,而不是僅僅在config.xml老白名單機制。所以,如果你想訪問頁面,你必須設置你的Content Security Policy appropriately。要使用Google地圖,您至少需要將google.com添加到默認的src,gstatic.com以添加數據。這些可能還不夠,如果你自己沒有可能是唯一的選擇是尋求在開發者控制檯的錯誤,見here如何讓Android上的Chrome開發者控制檯,並here看到它在iOS。我總是發現一些試驗和錯誤是CSP設置恰到好處所必需的。

<meta http-equiv="Content-Security-Policy" content="default-src 'self' google.com data: gap: https://ssl.gstatic.com; style-src 'self' 'unsafe-inline' google.com; media-src *"> 

這就是說,你可能不希望谷歌地圖把你的應用程序的控制(或者也許你嗎?),所以其他建議使用會建議在應用程序瀏覽器插件。它只是增加一個plugin並使用JavaScript來打開窗:與舊的PhoneGap工作

cordova.InAppBrowser.open('https://www.google.com/maps/dir/?api=1&origin=43.9815648,7.5328161&destination=41.802425,12.6021389', '_blank', 'location=yes'); 
+0

你在哪裏插入你發佈的第一個代碼行?在index.html文件或其他地方? –

+1

@PieroAlberto是的,它進入索引文件的頭部。如果您創建了一個新的cordova/phonegap項目(「cordova create newproject」),它將創建一個示例index.html,您可以查看 - 但是您必須根據需要適當調整CSP。 –

+0

如果我使用CSP設置,則會出現此錯誤消息:「拒絕將字符串評估爲JavaScript,因爲'unsafe-eval'不是下列內容安全策略指令中允許的腳本源:」default-src'self'google .com數據:gap:https://ssl.gstatic.com「。爲什麼? –

1

,您無法在科爾多瓦/ PhoneGap的視圖重定向到託管在其他地方(在手機上,而不是),出於安全原因,一個頁面,讓你有兩種選擇:

  1. 使用科爾多瓦/ PhoneGap的插件谷歌地圖,如: https://www.npmjs.com/package/cordova-plugin-googlemaps

  2. 使用科爾多瓦/ PhoneGap的應用程序內瀏覽器插件,您的應用程序內啓動您的地圖 在全屏瀏覽器窗口: https://cordova.apache.org/docs/en/latest/reference/cordova-plugin-inappbrowser/

選項#1將是優選的選項。

+0

我的解決辦法,所以,我認爲,這是最後一個版本的新功能。通過選項#1,我可以打開行程嗎? –

+0

我看到你有data =,#1的文檔說google.maps.Data不可用。在這種情況下,嘗試#2選項可能會更好,並保持原樣。 –

+0

upvote for point 2) –

0

如果您要啓動Google地圖應用(而不是將Google地圖嵌入到您的應用中,即cordova-plugin-googlemaps),則可以使用phonegap-launch-navigator插件。

+0

好主意。值得注意的是,只有當Google地圖作爲應用程序安裝時,這纔會起作用。 –