maptalks.js icon indicating copy to clipboard operation
maptalks.js copied to clipboard

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

Open johnnylc opened this issue 3 months ago • 0 comments

当animate动画开启时,使用PolygonLayer时点击sector区域,点击事件无法触发;使用VectorLayer则可以正常触发点击事件。 版本:[email protected]

测试代码如下:

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) } )

johnnylc avatar Sep 11 '25 11:09 johnnylc