How to get the mid point of the Poly line in javascript
so i can place a lable for the drawn line
Try the code below. The get_length is another function that just uses the geometryEngine length function. This works for a single part polyline.
function midPointPolyline(line) { var path = line.paths[0]; var seglen = get_length(line, "feet"); var midLen = seglen / 2; var currentDistance = 0; var beforeIndex = 0; var startPoint = line.getPoint(0, 0); for (i = 1; i < path.length - 1; i++) { var nextPoint = line.getPoint(0, i); var d = geometryEngine.distance(startPoint, nextPoint, "feet"); if (currentDistance + d < midLen) { currentDistance += d; startPoint = nextPoint; } else { beforeIndex = (i === 1) ? 0 : i; break; } } startPoint = line.getPoint(0, beforeIndex); var endPoint = line.getPoint(0, beforeIndex + 1); var x = (startPoint.x + endPoint.x) / 2; var y = (startPoint.y + endPoint.y) / 2; var midpt = new esri.geometry.Point({ x, y, spatialReference: { wkid: line.spatialReference.wkid } }); return midpnt;}
Angemeldete Mitglieder können Beiträge verfassen, Updates folgen und mehr. Neu hier? Registriere ein kostenloses Konto.
Find useful guides, FAQs, and documents to help you navigate and make the most of Esri Community.