Javascript Openlayers-禁用层上的平移

Javascript Openlayers-禁用层上的平移,javascript,openlayers,panning,Javascript,Openlayers,Panning,我正在使用OpenLayers,并试图创建一个信息覆盖层。 我使用自己的WMS服务器,所以对于这一层,服务器总是发送一个包含信息的图像。 我的问题是,当我平移地图时,我的“信息”层也会平移,一旦完成平移,该层将刷新,文本将显示在正确的位置。 我想禁用这个特定层(WMS)上的平移,有什么方法可以实现吗 我尝试了一个外部div,但没有成功,平移仍然存在 谢谢 编辑: 这就是我带来的。它工作得很好,谢谢你的主意 <script type="text/javascript"> //

我正在使用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>

/////////////////////////////////////////
//使用具有属性的空层//
/////////////////////////////////////////
var informationlayerrefreshtstrategy=new OpenLayers.Strategy.Refresh({
间隔:10000,
原力:没错,
刷新:函数(){
如果(此.layer){
this.layer.attribute=“数据加载…”;
//加载新属性
var layer=this.layer;
$.ajax({
url:“我的url”,
成功:功能(数据){
层属性=数据;
map.getControlsByClass(“OpenLayers.Control.Attribute”)[0].UpdateAttribute();
},
全局:错误
});
}
}
});
var informationLayer=新的OpenLayers.Layer(
“无计划”,
{属性:“数据加载…”);
informationLayerRefreshStrategy.setLayer(informationLayer);
informationLayerRefreshStrategy.activate();

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

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

您显示的是什么类型的数据?您真的必须使用WMS进行渲染吗?数据是以文本形式编写的“业务”信息。由服务器生成,并应自动刷新(刷新策略)。我使用WMS,因为我95%的图层都是这种形式。但是,只要服务器部分不太费时创建(我有自己的服务器),我会接受其他内容。数据是否与任何标准地图图层相关?我正在考虑使用属性,你看了吗?我来看看,也许用ajax来更新属性。但我想我可能会有一些麻烦,格式,因为我打算。数据与图层没有直接关系,有关于可视化上下文的信息(一些日期,一些对象属性…)很酷!很高兴能帮上忙。:-)可惜的是,您必须手动刷新这些值,这感觉像OpenLayers中的一个小错误。如果有一个setter方法可以解决这个问题,那就太好了。您正在显示什么样的数据?您真的必须使用WMS进行渲染吗?数据是以文本形式编写的“业务”信息。由服务器生成,并应自动刷新(刷新策略)。我使用WMS,因为我95%的图层都是这种形式。但是,只要服务器部分不太费时创建(我有自己的服务器),我会接受其他内容。数据是否与任何标准地图图层相关?我正在考虑使用属性,你看了吗?我来看看,也许用ajax来更新属性。但我想我可能会有一些麻烦,格式,因为我打算。数据与图层没有直接关系,有关于可视化上下文的信息(一些日期,一些对象属性…)很酷!很高兴能帮上忙。:-)可惜的是,您必须手动刷新这些值,这感觉像OpenLayers中的一个小错误。如果有一个setter方法可以解决这个问题,那就太好了。今天不一定要尝试这个,其他的事情都有可能发生。我明天会试试,但它看起来很有希望。它与属性层和ajax一起工作,就像一种魅力。谢谢你的主意。如果有人想查看其用途,请编辑此问题。不确定今天是否尝试此问题,其他问题正在讨论中。我明天会试试,但它看起来很有希望。它与属性层和ajax一起工作,就像一种魅力。谢谢你的主意。如果有人想查看使用,请编辑问题。