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); }