0

netbean から生成された次のコードと、このリンクからのいくつかの変更があります。コードは削除してもうまく機能しますが、削除しても機能しません。問題は何ですか? <!DOCTYPE html>

<?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>
4

2 に答える 2

2

この質問に答えるには遅すぎるかもしれませんが、他の誰かを助けることができるので、試してみます.

この動作の原因は不明のままですが、解決策を見つけました: " position: fixed; " プロパティをdiv#mapに割り当てる必要があります。XML でテストしていませんが、HTML ドキュメントでは正しく動作します。

于 2012-12-08T08:54:09.517 に答える
0

使用している API またはその使用方法は、ブラウザのQuirks モード(つまり、古いバグのあるブラウザをシミュレートするためにブラウザが意図的に標準や仕様から逸脱するモード) に依存しています。

ところで、モードに関係なく、Firefox は次のエラーを報告します。

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

さらに、ページは両方のモードで空として表示されます。これはあなたが「うまくいかない」と言っているのですか?

于 2012-05-02T04:57:22.673 に答える