${iServerJava6R_RouteCalculateMeasureParameters_Title}

        internal static Dictionary<string, string> ToDictionary(RouteCalculateMeasureParameters param)
        {
            Dictionary<string, string> dic = new Dictionary<string, string>();
            dic.Add("sourceRoute",ServerGeometry.ToJson(param.SourceRoute.ToServerGeometry()));
            dic.Add("point",JsonHelper.FromPoint2D(param.Point));
            dic.Add("tolerance", param.Tolerance.ToString(CultureInfo.InvariantCulture));
            dic.Add("isIgnoreGap", param.IsIgnoreGap.ToString(System.Globalization.CultureInfo.InvariantCulture));

            return dic;
        }
        void action_DrawCompleted(object sender, DrawEventArgs e)
        {
            _elementsLayer.Children.Remove(pushpin);
            //this.boder.Visibility = Visibility.Collapsed;
            Route route = new Route();
            if (_routeLayer.Features.Count > 0)
            {
                Feature f = _routeLayer.Features[0];
                route = f.Geometry as Route;
                
            }

            pushpin.IsEnabled = false;
            pushpin.Location = e.Geometry.Bounds.Center;
            pushpin.Background = new SolidColorBrush(Colors.Red);
            pushpin.Content = "O";

            _elementsLayer.AddChild(pushpin);
            

           _queryPoint = (e.Geometry as GeoPoint).Location;

            RouteCalculateMeasureParameters param = new RouteCalculateMeasureParameters();
            param.IsIgnoreGap = true;
            param.Point = _queryPoint;
            param.SourceRoute = route;
            param.Tolerance = 100;
            RouteCalculateMeasureService service = new RouteCalculateMeasureService(_serviceUrl);
            service.ProcessComplated += service_ProcessComplated;
            service.Failed += service_Failed;
            service.ProcessAsync(param);
        }
 private void GenerateAbsoluteUrl(RouteCalculateMeasureParameters RouteMeasureParamters)
 {
     if(RouteMeasureParamters==null)
     {
         throw new ArgumentNullException("请求参数为空");
     }
     if(this.Url.EndsWith("/"))
     {
         this.Url += "geometry/calculatemeasure.json?debug=true&returnContent=true";
     }
     else
     {
         this.Url += "/geometry/calculatemeasure.json?debug=true&returnContent=true";
     }
 }
 /// <summary>${iServerJava6R_RouteCalculateMeasureService_method_ProcessAsync_D}</summary>
 /// <param name="param">${iServerJava6R_RouteCalculateMeasureService_method_ProcessAsync_param_param}</param>
 /// <param name="state">${iServerJava6R_RouteCalculateMeasureService_method_ProcessAsync_param_state}</param>
 public void ProcessAsync(RouteCalculateMeasureParameters param,object state)
 {
     GenerateAbsoluteUrl(param);
     base.SubmitRequest(this.Url,GetDictionaryParameters(param),new EventHandler<RequestEventArgs>(RouteCalculateMeasureService_Complated),state,true,false,false);
 }
 /// <summary>${iServerJava6R_RouteCalculateMeasureService_method_ProcessAsync_D}</summary>
 /// <overloads>${iServerJava6R_RouteCalculateMeasureService_method_ProcessAsync_overloads_D}</overloads>
 public void ProcessAsync(RouteCalculateMeasureParameters param)
 {
     ProcessAsync(param,null);
 }
 //http://localhost:8090/iserver/services/spatialanalyst-changchun/restjsr/spatialanalyst/geometry/calculatemeasure
 private System.Collections.Generic.Dictionary<string, string> GetDictionaryParameters(RouteCalculateMeasureParameters parameters)
 {
     return RouteCalculateMeasureParameters.ToDictionary((RouteCalculateMeasureParameters)parameters);
 }