2012-05-02 30 views
0

我有從netbean生成的以下代碼和從這個link一些修改。 刪除代碼後,代碼運行良好,但不符合它。什麼可能是這個問題? <!DOCTYPE html>OpenLayers現在使用Doctype聲明

<?xml version="1.0" encoding="UTF-8"?> 
<!-- 
To change this template, choose Tools | Templates 
and open the template in the editor. 
--> 
**<!DOCTYPE html>** 
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html"> 
    <h:head> 
     <title>OpenLayers Example</title> 
     <script src="http://openlayers.org/api/OpenLayers.js"></script> 
    </h:head> 
    <body> 
     <div style="width:100%; height:100%" id="map"></div> 
     <script defer="defer" type="text/javascript"> 
      var map = new OpenLayers.Map('map'); 
      var wms = new OpenLayers.Layer.WMS("OpenLayers WMS", 
      "http://vmap0.tiles.osgeo.org/wms/vmap0", {layers: 'basic'}); 
      var dm_wms = new OpenLayers.Layer.WMS(
      "Canadian Data", 
      "http://www2.dmsolutions.ca/cgi-bin/mswms_gmap", 
      { 
       layers: "bathymetry,land_fn,park,drain_fn,drainage," + 
        "prov_bound,fedlimit,rail,road,popplace", 
       transparent: "true", 
       format: "image/png" 
      }, 
      {isBaseLayer: false} 
     ); 
      map.addLayers([wms, dm_wms]); 
      map.zoomToMaxExtent(); 
     </script> 

    </body> 
</html> 

回答

2

也許現在回答這個問題爲時已晚,但它可以幫助別人,所以我會盡力。

這種行爲的原因仍然不明給我,但我找到了解決辦法:你必須指定一個「位置:固定;」屬性DIV#地圖。我沒有用XML來測試它,但是在HTML文檔中它正常工作。

0

無論您使用的是API,或者你正在使用它的方式,在瀏覽器(也就是一個模式,其中瀏覽器故意的標準和規格有所差異,以模擬舊馬車瀏覽器)依賴於Quirks Mode

順便說一句,獨立的模式,火狐報告以下錯誤:

document.getElementsByTagName("head")[0] is undefined 
Source: http://openlayers.org/api/OpenLayers.js 
Line: 424 

此外,該頁面出現在這兩種模式下爲空。這是你所說的「不起作用」嗎?

+0

是的!我正在使用這個希望JSF參考http://stackoverflow.com/questions/10395939/running-open-layer-with-jsf-and-xhtml-file – kinkajou