0

以下のコードを使用して、コンテナー内OpenLayersのマップを示しています。DIV理由はわかりませんが、マップが表示されるようにするには、Web ページを数回開く必要があります。これは、インターネット接続速度の問題ではありません。いくつかのjqueryタブをクリックするだけで、最終的にマップが指定されたタブで開かれます。実際、エラー メッセージは生成されません。Chrome と Firefox で発生します。バグなのか私のミスなのかわかりません。

どんな提案でも大歓迎です。

mainPage.php

    <script type="text/javascript">
      $(document).ready(function() {
            $("#tabs").tabs({
            ajaxOptions: {
                success: function( html ) {
                    $("#content").html(html);;
                }
            }
        });
      });           
    </script>
<div id="tabs">
    <ul>
        <li><a href="administration.php"><span>Administration</span></a></li>
        <li><a href="map.php"><span>Map</span></a></li>
    </ul>
</div>

map.php

<script src="http://www.openlayers.org/api/OpenLayers.js"></script>
<script>
    map = new OpenLayers.Map("basicMap");
    map.addLayer(new OpenLayers.Layer.OSM());       
    var points = new OpenLayers.Layer.Text( "Resource Locations",
                    { location: "dataLonLat.php",
                      projection: map.displayProjection
                   });
    map.addLayer(points);

    var geographic = new OpenLayers.Projection("EPSG:4326");
    var mercator = new OpenLayers.Projection("EPSG:900913");

    //Set start centrepoint and zoom 
    var lonLat = new OpenLayers.LonLat(2.07632,41.30408)
          .transform(
            geographic, // transform from WGS 1984
            mercator // to Spherical Mercator Projection
          );
    var zoom=16;
    map.setCenter (lonLat, zoom);  

  </script>

<div id="basicMap" style="width: 100%; height: 100%;">
</div>
4

1 に答える 1

0

#basicMap がページに追加される前に、スクリプト «map» スクリプトが評価されると思います。ではmap.php、#basicMap を最初に配置し、スクリプト タグを後に配置してみてください。

于 2012-05-23T13:46:38.287 に答える