gpt4 book ai didi

Mapbox gl : On mouse hover on layers change cursor pointer style

转载 作者:行者123 更新时间:2023-12-03 21:19:42 31 4
gpt4 key购买 nike

我有 10 到 15 个不同的图层,例如汽车、公共(public)汽车、路线等。如果需要,我会在 map 上添加动态图层,因为 map 上始终不存在所有图层。

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

我已经在 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';
});

我的问题 :
  • 光标样式不变
  • queryRenderedFeatures 上的错误,如层不存在
  • 鼠标在悬停层闪烁

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

    最佳答案

    map.on('mouseenter', 'clusters', () => {
    map.getCanvas().style.cursor = 'pointer'
    })
    map.on('mouseleave', 'clusters', () => {
    map.getCanvas().style.cursor = ''
    })

    这是如何让它专门与 clusers 一起工作,但代码可能仍然有帮助。

    祝你好运 !

    关于Mapbox gl : On mouse hover on layers change cursor pointer style,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55560489/

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