2014-02-17 34 views
0

我開發一個地圖應用程序中,我繪製標籤客戶端,基本上我解決this問題。我有很多的標籤,和使它們在屏幕上之前,我需要做一個傳中,我計算,其中的標籤將被定位,多少空間,他們將採取在屏幕上,是否有重疊等。由於這一切都是時間消費,它在網絡工作者身上完成。爲了測試是否有重疊,我需要計算SVG BBox。我如何在網絡工作者上做到這一點?網絡工作人員無法訪問DOM。即使有,我也不想在這個計算過程中在屏幕上渲染任何東西。如何計算Web Worker中的SVG BBox?

+0

當我遇到問題在哪裏標籤將結束和/或與他人發生衝突,我給觀衆拖/放違規標籤的能力。 –

回答

0

因爲你不能在一個Web工作訪問DOM,你不能準確地從工人中計算文本標籤的邊框。

一些可能的變通:

  • 執行邊界框計算在主線程,然後傳遞消息的結果工人。 (你沒有渲染任何內容到屏幕上:只是使你不追加到文檔中的超然SVG元素。)
  • 估算的長度,通過預先計算的的個性邊框或估計平均通過em寬度。工作人員完成後,請在主線程中檢查並更正。