2015-06-04 3 views
-1

Я рисую «карту» с помощью jCanvas с использованием метода drawLine и нужно поместить номер дома в центр кривой (он может иметь случайное число углов).Как установить текст в центре формы кривой с помощью jCanvas?

Также обратите внимание, что все объекты перетаскиваются, и текст должен быть перетаскиваемым с ним.

Или как рассчитать центр объекта, который может иметь случайное число углов?

+0

Вы пробовали что-то и вы столкнулись с проблемой? – javierfdezg

+0

Я попытался найти формулу, но не нашел никаких результатов. Также искали в jCanvas doc и не нашли ничего подобного. – user3237558

ответ

0

Я написал функцию, которая решила мою проблему. В качестве пунктов var вы должны отправить точки полигона svg.

function getcenter(points, index) 
 
{ 
 
    if (typeof points!="undefined") 
 
    { 
 
     var pairs = []; 
 
     pairs = points.split(" "); 
 
     
 
     
 

 
     var first = true; 
 
     var min; var max; 
 
     
 
     for(var i=0;i<pairs.length;i++) 
 
     { 
 
      var list = pairs[i].split(','); 
 
      
 
      if(first===true) 
 
      { 
 
       first = false; 
 
       min = max = list[index]; 
 
      } 
 
      else 
 
      { 
 
       if(list[index]<min) min = list[index]; 
 
       if(list[index]>max) max = list[index]; 
 
      } 
 
     } 
 
     
 

 
     min = parseInt(min); 
 
     max = parseInt(max); 
 

 
     var result = (min+max)/2; 
 

 
     return result; 
 
    } 
 
    else return false; 
 
};