由於path有自帶的api可獲得總長度,和某個長度返回的坐標。
var total = d.path.getTotalLength();//返回總長度
var point = d.path.getPointAtLength(num);//返回一個對象,包括x,y
想着進行了line的位置找尋:
svg中《line》的路徑上的點的位置找尋方法
//根據line的起始點坐標返回一個對象,得到線段的長度 function GetLineLength(x1,y1,x2,y2){ var obj ={}; obj.x = x1; obj.y = y1; obj.length = Math.sqrt((x2 - x1)*(x2 - x1) + (y2- y1)*(y2- y1)); obj.sin = (y1-y2)/obj.length; obj.cos = (x1-x2)/obj.length; return obj; }; //根據上變的函數得到的對象,傳入某一長度,返回此長度在line上的x,y的坐標 function GetLintPoint(obj,number){ var point = {}; point.x = obj.x - number*obj.cos; point.y = obj.y - number*obj.sin; return obj1; };