0

私の最初の PhoneGap アプリの一部として、OpenLayers マップをロードする必要があります (最終的には独自のローカル カスタム タイルを使用しますが、現時点では、標準の OpenLayers の例を改造して、オンラインのものでテストしているだけです)。

しかし、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>
4

1 に答える 1

0

すみません - 私が話したことを忘れてください! マップ サーバー ドメインへの参照を Cordova.plist の「ExternalHosts」に追加する必要があることを発見しました。これで、画像は問題なくロードされているようです。

于 2012-06-16T09:38:39.860 に答える