Di penampil saya, saya memiliki markup yang diplot menggunakan mode cloud dan selama acara perubahan kamera, saya tidak dapat memetakan label terkait dengan markup saat bergerak. Untuk membuat ini berfungsi, saya menyimpan koordinat dan saat acara perubahan kamera saya menggunakan worldToClient untuk menemukan koordinat baru, tetapi ini tidak berfungsi

Jadi masalahnya adalah dengan menemukan koordinat dunia asli. Saya mencoba beberapa cara seperti di bawah ini, tetapi sepertinya tidak ada yang berhasil untuk saya. Sangat menghargai bantuan dalam hal ini. Sekedar gambaran tentang ini, saya lampirkan tangkapan layar model sebelum dan sesudah perubahan kamera.

/*** option 1***/
worldCoord = markup.markups[0].generateBoundingBox().max;
/*** option 2***/
var coords = viewer.impl.clientToViewport(pos.x, pos.y);
worldCoord = coords.unproject(viewer.impl.camera)
/*** option 3***/
worldCoord = markup.markups[0].getClientPosition()
/*** option 4***/
worldCoord = viewer.clientToWorld(pos.x,pos.y,true);
/***option 5***/
worldCoord = markup.markups[0].getBoundingRect()
0
A DEv 4 Maret 2020, 16:29

1 menjawab

Jawaban Terbaik

Akhirnya saya mendapatkannya.

Kami dapat menyimpan info nama lapisan dengan label Anda dan mengambilnya di acara perubahan kamera Anda menggunakan kode di bawah ini.

Posisi = markup.svgLayersMap[layerName].markups[0].getClientPosition()

Semoga ini membantu seseorang

0
A DEv 5 Maret 2020, 10:47