0

我正在使用 OpenLayers,并且正在尝试创建一个信息叠加层。我使用的是我自己的 WMS 服务器,所以对于这一层,服务器总是发送一个包含信息的图像。我的问题是,当我平移地图时,我的“信息”图层也会平移,一旦完成平移,图层就会刷新并且文本显示在正确的位置。我想禁用此特定图层(WMS)上的平移,有什么方法可以实现吗?

我尝试使用外部 div 但没有成功,平移仍然存在。

谢谢 !

编辑:所以这就是我带来的。它完美地工作,谢谢你的想法

<script type="text/javascript"> 
    /////////////////////////////////////////
    // USE AN EMPTY LAYER WITH ATTRIBUTION //
    /////////////////////////////////////////

    var informationLayerRefreshStrategy = new OpenLayers.Strategy.Refresh({
        interval: 10000,
        force:true,
        refresh: function() {
        if (this.layer) {
            this.layer.attribution = "Data loading ...";
                // Load new attributions
            var layer = this.layer;
            $.ajax({
                url: "myURL",
                success: function(data){
                    layer.attribution = data;
                    map.getControlsByClass("OpenLayers.Control.Attribution")[0].updateAttribution();
                },
                global: false
            });
          }
     }
});

    var informationLayer =  new OpenLayers.Layer(
        "Sans fond de plan",
        {attribution:"Data loading ..."});

        informationLayerRefreshStrategy.setLayer(informationLayer);
        informationLayerRefreshStrategy.activate();
</script>
4

1 回答 1

3

我的结论:使用仅包含属性值的单独层。对可以配置为使用 JSON 的单独资源进行查询。在 refreshStrategy 中,仅使用结果数据更新图层的属性,并将生成的属性 div 设置为显示在与地图相关的正确位置。

于 2011-03-28T14:02:42.580 回答