我正嘗試創建一個簡單的應用程序,它使用Google地圖顯示用戶搜索的地點地圖。我在Eclipse中創建了一個Phonegap項目,它在Android和iPhone中運行得非常好,但是地圖不會在黑莓中渲染。我正在使用的Blackberry測試版是Bold 9700,它已經從OS v5升級到OS v6。我修改了我的config.xml以允許移動設備訪問「*」子域名。當我運行我的代碼時,我使用我的密鑰撥打Google地圖,並確保包含回調函數,以便在加載Google地圖後繼續執行代碼。黑莓手機上的Phonegap和Google地圖
問題是,當應用程序在黑莓Bold上啓動時,地圖頁面加載並且完全沒有任何內容。另一方面,當地圖頁面在Android和iPhone平臺上加載時,我發現該回調已被谷歌地圖調用。我真的不知道爲什麼這個問題只發生在黑莓手機上......我研究過這個問題只是爲了找到我已經嘗試過的建議。我知道我錯過了一些東西,但我無法弄清楚它是什麼。
這是我的HTML代碼:
<body onload="init()">
<div id="map_canvas">
</div>
</body>
,這是我的Javascript代碼:
function init(){
var script = document.createElement("script");
script.type = "text/javascript";
script.src = "http://maps.googleapis.com/maps/api/js?key=GoogleMapKey&sensor=false&callback=codeAddress";
document.body.appendChild(script);
}
在我codeAddress
回調方法,我做的第一件事是alert("hello")
只是爲了確保codeAddress
已被調用。在Android和iPhone上,我看到了警報。然後我將地圖分配給div元素。我遇到的問題是,Blackberry似乎沒有聯繫Google地圖,因此在Google地圖加載完成時不執行回調。
我很好奇,所以我也嘗試過一個靜態地圖,我也沒有任何運氣。是否有一些我忘記的權限?這是我在我的config.xml:
<access subdomains="true" uri="http://gstatic.com"/>
<access subdomains="true" uri="http://google.com"/>
<access subdomains="true" uri="http://googleapis.com"/>
<access subdomains="true" uri="*"/>
我也讀了BB OS V5不支持谷歌地圖,以及操作系統的新版本,因此升級後的黑莓大膽試驗裝置。