javascript - 使用 openlayer 无法显示 map

标签 javascript openlayers openstreetmap

我正在尝试使用 openlayer 来显示 map ,但没有显示任何内容,我只能看到一个白色页面,这是我的代码

     <!DOCTYPE html>
    <html>
    <head>
    <script type="text/javascript" src="http://www.openlayers.org/api/OpenLayers.js"></script>
<script>
  function init() {

      map = new OpenLayers.Map("basicMap");

      var mapnik = new OpenLayers.Layer.OSM();
      var  epsg4326 =  new OpenLayers.Projection("EPSG:4326"); //WGS 1984 projection
      var projectTo = new OpenLayers.Projection("EPSG:900913"); //The map projection (Spherical Mercator)

      map.addLayer(mapnik);
    map.setCenter(new OpenLayers.LonLat(-7.62300,33.59349) // Centre de la carte
      .transform(epsg4326,projectTo
      ), 12 // Zoom level
    );
  }
  </script>
 </head>
 <body onload="init();">
    <div id="basicMap" style="width:100%; height:80%"></div>
 </body>
  </html>

谢谢

最佳答案

您必须定义 map div 的高度:

<!DOCTYPE html>
<html>
<head>
  <script type="text/javascript" src="http://www.openlayers.org/api/OpenLayers.js"></script>
  <script>
function init() {

  map = new OpenLayers.Map("basicMap");

  var mapnik = new OpenLayers.Layer.OSM();
  var  epsg4326 =  new OpenLayers.Projection("EPSG:4326"); //WGS 1984 projection
  var projectTo = new OpenLayers.Projection("EPSG:900913"); //The map projection (Spherical Mercator)

  map.addLayer(mapnik);
  map.setCenter(new OpenLayers.LonLat(-7.62300,33.59349).transform(epsg4326,projectTo), 12);
}
  </script>
</head>
<body onload="init();">
  <div id="basicMap" style="width:100%; height:100px"></div>
</body>
</html>

关于javascript - 使用 openlayer 无法显示 map ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29968323/

相关文章:

javascript - 如何使用 OpenLayers 在 map 顶部创建可单击的网格图层

javascript - jQuery 中的下一个参数是 'undefined',为什么?

JavaScript 数组与 JSON 响应的比较

javascript - 如何在 map 上绘制时在 openlayers 3 中抑制 'Single-Click' 事件

openlayers - 使用 Nominatim 进行简单的反向地理编码

postgresql - 自己服务器上的 Nominatim API inSTALlation 错误

javascript - 如何在平移时加载和销毁 map 而不是在加载时完全加载 map

javascript - 具有通用参数处理的回调函数

javascript - canvas元素无法绘制图像

javascript - 使 LineString 分辨率取决于 OpenLayers 中的级别