2012-05-23 3 views
0

아래 코드를 사용하여 맵을 DIV 컨테이너에 시연합니다. 이유는 모르겠지만 웹 페이지를 여러 번 열어야지도가 표시됩니다. 이것은 인터넷 연결 속도의 문제가 아닙니다. 난 정말 몇 jquery 탭을 클릭해야합니다, 그리고 마지막으로지도가 지정된 탭에서 열립니다. 실제로 오류 메시지가 생성되지 않습니다. Chrome 및 Firefox에서 발생합니다. 버그인지 내 실수인지는 모르겠다.OpenLayers + Ajax : 버그 또는 실수

어떤 제안이라도 대단히 감사하겠습니다.

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> 

답변

0

나는 스크립트가«지도»#basicMap이 페이지에 추가되기 전에 스크립트가 평가된다 생각합니다. map.php에 #basicMap과 스크립트 태그를 먼저 넣으십시오.