2016-06-25 32 views
1

我有一個應用程序的情況下,我部署一個谷歌地圖可以顯示在三個不同的位置:在文件谷歌地圖API密鑰引用:///

  • 在應用網頁視圖
  • 預覽瀏覽器
  • 發佈到服務器

所以我需要用戶增加了一些引薦有API密鑰覆蓋他們,因爲他們發佈到自己的服務器的時間。

他們可以爲他們自己的服務器上發佈的地圖和瀏覽器本地方面的預覽添加引薦鏈接。

但我無法弄清楚在應用程序web視圖中預覽地圖時,作爲引用者添加了什麼內容,並且當時頁面的url是文件:///引用的url?

如果我們將所有引用空白爲一個完整的通配api鍵,它將在app的webview中工作。

我已經嘗試了約儘可能多的配置,我可以爲文件指引者認爲:///地址,但沒有運氣:

我想:

文件

文件*

文件/ *

文件:/// *

+0

不能..使用Google地圖只有在連接互聯網的啓用和地圖庫中獲得通過互聯網.. – scaisEdge

+0

對不起我應該注意到,在應用程序內可以訪問互聯網。如果我通過不添加任何引用來完全使用完整的通配符API,它可以在應用中使用file:/// url。 –

+0

如果您的應用程序可以使用互聯網,那麼您應該怎麼做,但是您的意思是「如果我使用完整的通配符api密鑰,並且根本沒有添加任何引用鏈接」 – scaisEdge

回答

1

它本身ems您將無法使用file:///作爲URL起源解決此問題。您將始終得到RefererNotAllowedMapError錯誤。使用file:///作爲URL來源告訴我你正試圖在本地環境中運行它。我建議你使用本地服務器,使用Python Simple HTTP serverNodeJS local server

我已經列舉了如何在此SO thread中設置本地Python服務器的步驟。你將能夠使用它來運行你的Google Map示例。

UPDATE

好消息,谷歌已經增加了對文件的支持:/引薦。你可以看到下面的文本文檔中

file:// referers need a special representation to be added to the Key restriction. The "file:/" part should be replaced with "__file_url__" before being added to the Key restriction. For example, "file://path/to/" should be formatted as "__file_url__/path/to/*". After enabling file:// referers, it is recommended you regularly check your usage, to make sure it matches your expectations

https://developers.google.com/maps/documentation/javascript/get-api-key#key-restrictions

+0

接受爲沒有引用文件的URL來源文件:/// exists。我是應用程序的第三方插件,因此將該URL更改爲localhost對我來說不是一種選擇。 –

+0

如果我們不能改變我們加載原點的方式,有什麼可以做的嗎? (在我的情況下是一個PhoneGap應用程序),還是我們堅持不使用密鑰或使用通配符密鑰? –