If you have an ArcGIS Server Advanced License, you "should" be able to create a model in ArcGIS Desktop. Add the model to a Tool Layer and then publish it to a Map Service. This should allow you to use the Linear Referencing Toolbox in ArcGIS Desktop in your JavaScript Application. Is this a possible solution?
Have a great day,
CDB
The best way to make this work is to update your geometry and then set the geometry for your graphic. After a graphic's setGeometry method is called, the graphic will update.
If everything worked as it should, you would call insertPoint on your polyline and then pass your polyline to your graphic's setGeometry method. That being said, your use case uncovered a bug in insertPoint. The current implementation(version 2.6 of the API) won't let you insert a point on the end of a path. The best workaround is to use addPath. The code would look like this:
// add a polyline, line and lineGraphic are global
var p1 = esri.geometry.geographicToWebMercator(new esri.geometry.Point(-100, 40, map.spatialReference));
var p2 = esri.geometry.geographicToWebMercator(new esri.geometry.Point(-90, 40, map.spatialReference));
line = new esri.geometry.Polyline();
line.addPath([p1, p2]);
lineGraphic = map.graphics.add(new esri.Graphic(
line,
new esri.symbol.SimpleLineSymbol()
));
dojo.connect(map, "onClick", addPt);
And the body of the addPt function:
line.addPath([
line.paths[pathCount-1][line.paths[pathCount-1].length-1],
[e.mapPoint.x, e.mapPoint.y]
]);
lineGraphic.setGeometry(line);
Here's a working example: http://jsfiddle.net/swingley/SntsN/ Click the map to extend the line. We will (hopefully) fix this bug in the next release of the API, which is 2.7.
Best Answer
For anyone needing this:
References:
http://www.movable-type.co.uk/scripts/latlong.html
http://www.mathsteacher.com.au/year7/ch08_angles/07_bear/bearing.htm