Старайтесь отслеживать мировые координаты между переводом (перемещением PDF) и конвертировать их обратно в координаты клиента / окна просмотра, чтобы сохранить их относительные позиции на холсте - вы можете подписаться на CAMERA_CHANGE_EVENT
, чтобы реагировать на навигацию пользователя и переместите наценки соответственно:
//once the markups are created
const originalWorldPos = viewer.clientToWorld(pos.x,pos.y)
viewer.addEventListner(Autodesk.Viewing.CAMERA_CHANGE_EVENT, ()=>{
let newViewPortPos = viewer.worldToClient(originalWorldPos)
//move markups to new position here ...
})