zy-asrs-flow/src/pages/map/header/search.jsx | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
zy-asrs-flow/src/pages/map/utils.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
zy-asrs-flow/src/pages/map/header/search.jsx
@@ -116,7 +116,11 @@ value={curSensorLabel} onSelect={(value, option) => { const uuid = option.label?.props?.children?.[1].props.children; setCurSensor(Utils.findSpriteByUuid(uuid)); const selectSensor = Utils.findSpriteByUuid(uuid); setCurSensor(selectSensor); if (selectSensor) { Utils.beCenter(selectSensor); } }} onChange={setCurSensorLabel} /> zy-asrs-flow/src/pages/map/utils.js
@@ -344,7 +344,7 @@ mapContainer.addChild(sprite); } }) }).catch((error) => { console.error(error); }) @@ -404,4 +404,27 @@ }); childList = []; } } export const beCenter = (sprite) => { if (!sprite || !app || !mapContainer) { return; } // 获取 sprite 的中心点坐标 let bounds = sprite.getBounds(); let centerPoint = { x: bounds.x + bounds.width / 2, y: bounds.y + bounds.height / 2 }; // 计算 sprite 应当平移的像素量以能够将其放置到屏幕中心 let targetPos = { x: app.renderer.width / 2 - centerPoint.x * this.scale, y: app.renderer.height / 2 - centerPoint.y * this.scale }; // 使用 TWEEDLE.Tween 动画库为平移过程添加过渡效果 new TWEEDLE.Tween(mapContainer.position).easing(TWEEDLE.Easing.Quadratic.Out) .to(targetPos, 200).start(); }