由于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; };