gpt4 book ai didi

events - Openlayers和多层事件(OpenLayer.Layer.Vector)

转载 作者:行者123 更新时间:2023-12-04 03:30:35 36 4
gpt4 key购买 nike

改天使用openlayers和另一个问题。

即-我在不同的东西(汽车,历史和地区旅行)上有多个矢量层。他们都有我想捕捉的事件...但是Niklas发现,当您在一层上激活事件时,它会移到顶部,而下面的层上的事件将不会触发。

有办法绕过这个吗?因为当我在区域多边形上移动时,我希望事件触发并显示其名称,而当我将鼠标移到汽车标记上时,我也希望事件触发。不,我不希望将它们放在同一层上,因为我希望可以快速关闭或打开它们,而无需遍历所有功能并禁用每个功能。

艾伦

Edit1:我进行了一些搜索,发现可以在多个图层上使用相同的控件。可能可以为我解决这个问题。即时通讯检查出atm并测试是否在单个控件中添加更多层是否可以解决我的问题。

  • Forcing an OpenLayers Markers layer to draw on top, and having selectable layers beneath
  • 最佳答案

    当我遇到相同的问题时,我试图通过使多个层对鼠标事件使用react来发现这一点。

    解决方案,以防万一其他人发现此线程更简单。

    SelectFeature控件采用一个Vector图层数组,并且如果您以后需要对鼠标事件(悬停和单击)使用react的所有图层都在该数组中,则它们将全部起作用,而不仅仅是移到顶部的图层。

    因此,在此线程的认可解决方案中,可以通过以下操作大大简化该操作:

    this.carSelect = new OpenLayers.Control.SelectFeature(
    [this.vectorsLayer, this.carsLayer],
    {
    'hover':true,
    'callbacks': {
    blah blah blah
    }
    });

    这将在两个图层上注册适当的事件并使它们同时生效。

    我希望这可以帮助其他在此问题上绊脚石的人。

    正如其他地方所说,使用OpenLayers并不难,找到使用它的正确方法是很困难的。

    关于events - Openlayers和多层事件(OpenLayer.Layer.Vector),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5594420/

    36 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com