2011-06-18 29 views
0
<!DOCTYPE html> 
<html> 
    <head> 

    <link rel="stylesheet" href="style.css" type="text/css"> 
<script src="http://openlayers.org/api/2.10/OpenLayers.js" type="text/javascript"> 
     var map, layer; 
     function init(){ 
      map = new OpenLayers.Map('map', {controls: [ 
       new OpenLayers.Control.Navigation({documentDrag: true}), 
       new OpenLayers.Control.PanZoom(), 
       new OpenLayers.Control.ArgParser(), 
       new OpenLayers.Control.Attribution() 
      ]}); 
      layer = new OpenLayers.Layer.WMS("OpenLayers WMS", 
        "http://vmap0.tiles.osgeo.org/wms/vmap0", 
        {layers: 'basic'}); 
      map.addLayer(layer); 
      map.zoomToMaxExtent(); 
     } 
    </script> 
    </head> 
    <body onload="init()"> 
    <h1 id="title">OpenLayers Document Drag Example</h1> 

    <div id="tags"> 
     drag 
    </div> 

    <div id="shortdesc">Keep on dragging even when the mouse cursor moves outside of the map</div> 

    <div id="map" class="smallmap"></div> 

    <div id="docs"> 
     <p>This example shows how to make a map draggable outside of the map itself.</p> 
    </div> 
    </body> 

</html> 

這是我用javascript編寫的html代碼。我的螢火蟲拋出未定義的錯誤init()。什麼可能是錯誤?init錯誤()未定義。如何消除這個錯誤?

回答

4

由於您在其src屬性中指定了該URL,因此您的<script>元素將從外部資源加載其內容(http://openlayers.org/api/2.10/OpenLayers.js)。

因此,瀏覽器會忽略實際的元素的內容,所以init()將不會被定義。

嘗試使用兩個<script>元素代替:

<script src="http://openlayers.org/api/2.10/OpenLayers.js" type="text/javascript"> 
</script> 

<script type="text/javascript"> 
    var map, layer; 
    function init(){ 
     map = new OpenLayers.Map('map', {controls: [ 
      new OpenLayers.Control.Navigation({documentDrag: true}), 
      new OpenLayers.Control.PanZoom(), 
      new OpenLayers.Control.ArgParser(), 
      new OpenLayers.Control.Attribution() 
     ]}); 
     layer = new OpenLayers.Layer.WMS("OpenLayers WMS", 
       "http://vmap0.tiles.osgeo.org/wms/vmap0", 
       {layers: 'basic'}); 
     map.addLayer(layer); 
     map.zoomToMaxExtent(); 
    } 
</script> 
+0

謝謝。雖然錯誤消失了,但仍然沒有顯示OpenLayers地圖的跡象。 – IamH1kc

+0

我對打開圖層不熟悉,但是不應將「map」參數作爲傳遞給Map()的對象的一部分?像「Map({div:」map「,controls:...});'? –