我正在尝试开始在我的网站上使用地图 API。我最初是在看openstreetmap,但很快意识到如果我想显示地图,我需要使用openlayers。我对这两者之间的关系仍然很模糊,所以我会标记它们。我只是想让一个 hello world 示例运行。
OpenLayers 有这个页面来引导你完成你的第一个实现。入门页面声明将以下代码用于您的第一个示例:
<html>
<head>
<title>OpenLayers Example</title>
<script src="http://openlayers.org/api/OpenLayers.js"></script>
</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'} );
map.addLayer(wms);
map.zoomToMaxExtent();
</script>
</body>
</html>
如果您将页面声明为 html5,则此代码不起作用。添加此标头后,示例将立即停止工作:
<!DOCTYPE html>
<meta charset='utf-8'>
我不明白为什么会这样。该页面非常简单,不幸的是我对 html5 和 openlayers 了解不足,无法知道问题可能是什么,但已经缩小了问题的范围。谁能解释解决方案是什么以及为什么?