OpenLayer4.6.5:在本地目录中定义自定义tileImage源

时间:2018-07-23 06:24:56

标签: openlayers qgis

我在Qgis中使用QTiles插件在本地目录(名为mapnik)中创建了一个自定义tileImage服务器。我想加载这些图像并使用openLayer库显示地图。这是我的代码:

<html>
  <head>
    <meta charset="UTF-8" />
    <script src="https://cdnjs.cloudflare.com/ajax/libs/openlayers/4.6.5/ol.js"></script>
  </head>
  <body>
    <div id="map"></div>
    <script>
      var raster = new ol.layer.Tile({
        source: new ol.source.TileImage({
          url: './mapnik/{z}/{x}/{-y}.png'
        })
      });
      var map = new ol.Map({
        layers: [raster],
        target: 'map',
        view: new ol.View({
          center: [0, 0],
          zoom: 2
        })
      });
      map.getView().setCenter(ol.proj.transform([77.5578658823407, -37.836996810851645], 'EPSG:4326', 'EPSG:3857'));
      map.getView().setZoom(11);
    </script>
  </body>
</html>

但是我的地图没有显示在我的网页中,并且在我的控制台中我遇到了一个错误,它正在写'TypeError:b为null'。

我想比起在ol.layer.Tile对象配置中忘记了一些参数,但是我找不到哪个参数。有人有解决办法吗? 预先感谢。

1 个答案:

答案 0 :(得分:0)

尝试使用ol.source.XYZ(https://openlayers.org/en/latest/apidoc/module-ol_source_XYZ-XYZ.html)代替基类ol.source.TileImage。