I can answer my own question.I used the Buffer operation to do the conversion for me. It seems to work quite well. Something like this:public void SomeMethod()
{
_geometryService = new GeometryService("some URL here...");
_geometryService.LabelPointsCompleted += OnLabelPointsCompleted;
_geometryService.SimplifyCompleted += OnSimplifyCompleted;
_geometryService.BufferCompleted += OnBufferCompleted;
_geometryService.SimplifyAsync(_polylines); // Start by simplifying the polyline graphics to find the label points for
}
private void OnSimplifyCompleted(object sender, GraphicsEventArgs e)
{
var bufferParams = new BufferParameters();
bufferParams.BufferSpatialReference = _spatialReference; // whatever spatial reference you need
bufferParams.OutSpatialReference = _spatialReference;
bufferParams.Unit = LinearUnit.Centimeter;
bufferParams.Distances.Add(1.0d);
bufferParams.Features.AddRange(e.Results);
_geometryService.BufferAsync(bufferParams);
}
private void OnBufferCompleted(object sender, GraphicsEventArgs e)
{
_geometryService.LabelPointsAsync(e.Results);
}
private void OnLabelPointsCompleted(object sender, GraphicsEventArgs e)
{
// Do someting with label points...
}