openlayer5调用geoserver发布的地图,地图不显示

记录一下openlayer5我遇到的一个坑:
首先大家如果 import Map from 'ol/Map.js';这种用不了的话可以像以前一样var map = new ol.Map
还是带上ol.这些
好了,切入正题
之前我按照官方文档中的代码调用自己发布的地图发现不显示,之后更改了调用方式,代码如下:

var wmsSource = new ol.source.TileWMS({
          url: 'http://localhost:9999/geoserver/wms',//这里端口号看自己的,我的是9999
          params: {
              'LAYERS': '。。。', //这里是你的地图的地址那里layers=...
              'TILED': true
          },
          serverType: 'geoserver',
          projection: 'EPSG:4326'
        });
      var wmsLayer = new ol.layer.Tile({
        source: wmsSource
      });

      var view = new ol.View({
        center: [102.43652, 30.76172],
        zoom: 5,
        projection : "EPSG:4326"
      });

      var map = new ol.Map({
        layers: [wmsLayer],
        target: 'map',
        view: view
      });

ok,地图显示了。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
要重新加载在OpenLayers中的GeoServer图层,可以按照以下步骤进行操作。 首先,确保已经在OpenLayers中定义了要加载的图层。可以使用`new ol.layer.Tile`函数来创建一个新的瓦片图层,然后将其添加到地图中。例如: ```javascript var layer = new ol.layer.Tile({ source: new ol.source.TileWMS({ url: 'http://localhost:8080/geoserver/wms', params: {'LAYERS': 'myworkspace:mylayer'}, serverType: 'geoserver' }) }); map.addLayer(layer); ``` 接下来,当需要重新加载图层时,可以使用OpenLayers中的`getSource()`函数来获取图层的源,并调用源的`updateParams()`方法来更新参数。例如: ```javascript // 获取图层的源 var source = layer.getSource(); // 更新参数并重新加载图层 source.updateParams({'time': Date.now()}); ``` 在`updateParams()`方法中,我们传入一个包含需要更新的参数的JavaScript对象。在这个例子中,我们使用`Date.now()`来生成一个随机时间戳,以确保每次更新都是唯一的。 最后,可以使用OpenLayers中的`getLayers()`函数来获取地图中的所有图层,并调用每个图层的`getSource()`和`updateParams()`方法来重新加载它们。例如: ```javascript // 获取地图中的所有图层 var layers = map.getLayers(); // 对每个图层执行重新加载 layers.forEach(function (layer) { var source = layer.getSource(); source.updateParams({'time': Date.now()}); }); ``` 这样,所有在OpenLayers中定义的GeoServer图层都将被重新加载。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值