Ejemplo n.º 1
0
        public GeocodeResponse Geocode([System.Xml.Serialization.XmlElementAttribute(IsNullable = true)] GeocodeRequest request)
        {
            object[] results = this.Invoke("Geocode", new object[] {
                request
            });

            return((GeocodeResponse)(results[0]));
        }
Ejemplo n.º 2
0
 /// <remarks/>
 public void GeocodeAsync(GeocodeRequest request, object userState)
 {
     if ((this.GeocodeOperationCompleted == null))
     {
         this.GeocodeOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGeocodeOperationCompleted);
     }
     this.InvokeAsync("Geocode", new object[] {
         request
     }, this.GeocodeOperationCompleted, userState);
 }
Ejemplo n.º 3
0
        /// <summary>
        /// 
        /// </summary>
        /// <param name="typed"></param>
        /// <param name="bingKey"></param>
        /// <returns>Integer 0, 1, 2 where 0 is perfect match, 1 is moderate, 2 is no match</returns>
        public static string ValidateAddress(string typed, string bingKey = null)
        {
            var service = new OpenSMIL.Server.BingServices.net.virtualearth.dev.GeocodeService();

            var request = new GeocodeRequest();
            request.Query = typed;
            request.Options = new GeocodeOptions() { Count = 10 };

            FilterBase[] filters = { new ConfidenceFilter() { MinimumConfidence = Confidence.Low } };

            request.Credentials = new Credentials()
            {
                Token = bingKey ?? System.Configuration.ConfigurationManager.AppSettings["BingKey"] ?? ""
            };

            var response = service.Geocode(request);

            // check if there are  any response
            if (response.Results != null)
            {
                // check from ambiguosy
                if (response.Results.Count() == 0)
                {
                    return Accuracy.BAD;
                }
                else if (response.Results.Count() == 1)
                {
                    // perfect match
                    if (response.Results[0].EntityType == "Address")
                        return Accuracy.GOOD;

                    return Accuracy.MODERATE;
                }

                //otherwise multiple results interpetrates as moderate accuracy
                return Accuracy.MODERATE;
            }
            return Accuracy.BAD;
        }
Ejemplo n.º 4
0
 /// <remarks/>
 public void GeocodeAsync(GeocodeRequest request)
 {
     this.GeocodeAsync(request, null);
 }
Ejemplo n.º 5
0
 /// <remarks/>
 public void GeocodeAsync(GeocodeRequest request, object userState) {
     if ((this.GeocodeOperationCompleted == null)) {
         this.GeocodeOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGeocodeOperationCompleted);
     }
     this.InvokeAsync("Geocode", new object[] {
                 request}, this.GeocodeOperationCompleted, userState);
 }
Ejemplo n.º 6
0
 /// <remarks/>
 public void GeocodeAsync(GeocodeRequest request) {
     this.GeocodeAsync(request, null);
 }