Skip to content

PolygonLayer中sector click事件在动画运行时无法触发 #2633

@johnnylc

Description

@johnnylc

当animate动画开启时,使用PolygonLayer时点击sector区域,点击事件无法触发;使用VectorLayer则可以正常触发点击事件。
版本:maptalks-gl@0.113.4

测试代码如下:

var map = new maptalks.Map('map', {
center: [-0.113049, 51.498568],
zoom: 14,
baseLayer: new maptalks.TileLayer('base', {
urlTemplate: 'https://{s}.basemaps.cartocdn.com/light_all/{z}/{x}/{y}.png',
subdomains: ["a", "b", "c", "d"],
attribution: '© OpenStreetMap contributors, © CARTO '
})
});

const polygonLayer = new maptalks.PolygonLayer('polygonLayer', {
zIndex: 30,
picking: true,
geometryEvents: true,
hitDetect: false
}).addTo(map)

var center = map.getCenter();
var sector = new maptalks.Sector(center.add(-0.013, -0.001), 900, 240, 300, {
symbol: {
lineColor: '#34495e',
lineWidth: 2,
polygonFill: 'rgb(135,196,240)',
polygonOpacity: 0.4
}
});
sector.on('click', () => {
console.log('sector click')
})

sector.addTo(polygonLayer)

const sectorPlayer = sector.animate(
{},
{
duration: 2000,
easing: 'out',
repeat: true
},
function (frame) {
if (frame.state.playState !== 'running') return
const currentLength = 500 + 500 * frame.state.delta
sector.setRadius(currentLength)
}
)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions