【问题标题】:with openlayers , how do i make sure the markers in TWO layers are all dsiplayed使用openlayers,我如何确保两层中的标记都显示出来
【发布时间】:2011-05-10 07:30:56
【问题描述】:

我在两个标记层中有标记,我需要将它们分开,以便我可以在应用程序中清除其中一个。

确保显示所有标记的最佳方法是什么。使用zoomToExtent 可以轻松完成一层。但是一层以上怎么做呢?

【问题讨论】:

    标签: javascript mapping openlayers


    【解决方案1】:

    从第 1 层获取边界,使用 .extend(第 2 层的边界),然后在扩展边界上使用 zoomToExtent。

    http://dev.openlayers.org/releases/OpenLayers-2.10/doc/apidocs/files/OpenLayers/BaseTypes/Bounds-js.html#OpenLayers.Bounds.extend

    是边界上的扩展方法。

    粗略而快速,抱歉....

    【讨论】:

      【解决方案2】:

      使用新的边界对象并使用 Bounds.extend。

      var myNewBounds = Layer1.zoomToExtent.getExtent();
      myNewBounds.extend(Layer2.zoomToExtent.getExtent());
      

      使用新的边界变量来设置地图的边界。语法是错误的,但这是你想要的方向。

      【讨论】:

      • getExtent on a layer 是“代表当前视口的经纬度边界的边界对象”。您不需要 viewPort,而 zoomToExtent 是一种地图方法,而不是图层。做“Layer1.maxExtent”(没有括号,它是一个属性而不是一个方法)。
      猜你喜欢
      • 2023-04-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-05
      • 1970-01-01
      • 1970-01-01
      • 2011-05-04
      相关资源
      最近更新 更多