Mapbox gl:鼠标悬停在图层上会更改光标指针样式

问题描述 投票:0回答:1

我有10到15个不同的不同层,例如汽车,公共汽车,路线等。这些层我在地图上添加动态,如果需要,因为所有时间层都不存在于地图上。

所以我显示单击关于图层的信息,但我想当我将鼠标悬停在图层上时将鼠标指针光标样式更改为'十字线'。

我已经在mouseenter事件上写了更改光标样式,但它似乎有时工作,有时即使鼠标悬停在图层上但光标样式没有改变。

第一种方式:

 map.on('mouseenter', (e: any) => {
      self.mapInstance.getCanvas().style.cursor = 'crosshair';
    });

第二种方式:

      map.on('mouseenter',(e: any) => {         
       var features = map.queryRenderedFeatures(e.point,{ layers: ['Car',"Bus"] });
//error let's say any layer still on exist on map
        if(features.length)
         map.getCanvas().style.cursor = 'crosshair';    
            });

我的问题:

  1. 光标样式没有变化
  2. queryRenderedFeatures上的错误,如图层不存在
  3. 鼠标在悬停图层上闪烁

如何在鼠标悬停在不同的不同图层上获得光标的更改样式?

mapbox mapbox-gl-js
1个回答
0
投票

在mousemove上怎么样?

//一些填充,因为SO最少需要30个字符才能发布...

© www.soinside.com 2019 - 2024. All rights reserved.