0
作爲我的第一個PhoneGap應用程序的一部分,我需要加載一個OpenLayers地圖(最終使用我自己的本地自定義切片,但目前,我只是在線測試,修改標準OpenLayers示例)。PhoneGap應用程序中未加載Openlayers tiles - jQuery Mobile衝突?
但是當我嘗試在iOS模擬器中初始化地圖時,瓷磚不想加載,使用OpenStreetMap或替代方法。地圖初始化就像放置控件和版權聲明一樣遠,但我不斷收到藍色問號框而不是實時地圖。在瀏覽器中獨立測試映射加載代碼,如果我刪除了jQuery Mobile引用,它似乎可以正常工作,但如果我在Xcode中調整文件,這似乎不起作用,除此之外,它會將我期望的外觀和行爲。這是一個已知的衝突,有沒有人知道解決它的方法?
在此先感謝!
賈爾斯
<!DOCTYPE html>
<html>
<head>
<title>My Page</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="jquery.mobilecus-1.1.0.min.css"/>
<script src="js/jquery-1.7.2.js"></script>
<script src="js/jquery.mobile-1.1.0.min.js"></script>
<script src="js/sessionstorage.1.4.js"></script>
<script src="js/OpenLayers.js"></script>
<script type="text/javascript" charset="utf-8">
$(function() { //ready
// JQuery stuff trimmed out
}); //end ready
var map
function init() {
map = new OpenLayers.Map("mapview");
map.addLayer(new OpenLayers.Layer.OSM());
var lonLat = new OpenLayers.LonLat(0.0 ,51.0).transform(
new OpenLayers.Projection("EPSG:4326"), // transform from WGS 1984
map.getProjectionObject() // to Spherical Mercator Projection);
var zoom=10;
map.setCenter (lonLat, zoom);
}
</script>
</head>
<body onload="init();">
<div data-role="page" id="page1" class="page">
//html for first page (no map)
</div><!-- /page -->
<div data-role="page" id="page2" class="page">
<div data-role="header" data-id="fixedheader" data-position="fixed" >
<h1>Fixed header</h1>
</div><!-- /header -->
<div data-role="content">
<div id="leftbar">
<img src="images/leftbar.png">
</div><!-- /leftbar -->
<div id="mapview">
//map appears here
</div><!-- /mapview -->
</div><!-- /content -->
<div data-role="footer"data-id="fixedfooter" data-position="fixed">
<a id="ForwardButton">Forward</a><a id = "BackButton" href="#page2">Back</a>
</div><!--/footer -->
</div><!-- /page -->
</body>
</html>
對不起 - 忘了我說了!剛剛發現我需要將對地圖服務器域的引用添加到Cordova.plist中的「ExternalHosts」中。現在圖像似乎加載沒問題。 希望這將證明對其他人碰到同樣的問題有用,無論如何... – user1459465