public Uri ToUri() { EnsureSensor(true); string formatStr = null; switch(this.Format) { case GMapsImageFormats.Unspecified: break; case GMapsImageFormats.JPGbaseline: formatStr = "jpg-baseline"; break; default: formatStr = this.Format.ToString().ToLower(); break; } string maptypeStr = null; switch(this.MapType) { case MapTypes.Unspecified: break; default: maptypeStr = this.MapType.ToString().ToLower(); break; } string zoomStr = null; if(this.Zoom != null) zoomStr = this.Zoom.ToString(); string centerStr = null; if(this.Center != null) centerStr = this.Center.GetAsUrlParameter(); QueryStringBuilder qs = new QueryStringBuilder() .Append("center", centerStr) .Append("zoom", zoomStr) .Append("size", string.Format(System.Globalization.CultureInfo.InvariantCulture, "{0}x{1}", Size.Width, Size.Height)) .Append("scale", Scale == null ? (string)null : Scale.Value.ToString()) .Append("format", formatStr) .Append("maptype", maptypeStr) .Append("language", Language) .Append("region", this.Region) .Append(GetMarkersStr()) .Append(GetPathsStr()) .Append("visible", GetVisibleStr()) .Append("sensor", (Sensor == true ? "true" : "false")); var url = "staticmap?" + qs.ToString(); return new Uri(BaseUri, new Uri(url, UriKind.Relative)); }
}//end method /// <summary> /// Create URI for quering /// </summary> /// <returns></returns> internal Uri ToUri() { this.EnsureSensor(true); var qsb = new Internal.QueryStringBuilder() .Append("origins", WaypointsToUri(waypointsOrigin)) .Append("destinations", WaypointsToUri(WaypointsDestination)) .Append("mode", Mode.ToString()) .Append("language", Language) .Append("units", Units.ToString()) .Append("sensor", (Sensor.Value ? "true" : "false")) .Append("avoid", AvoidHelper.MakeAvoidString(Avoid)); var url = "json?" + qsb.ToString(); return new Uri(url, UriKind.Relative); }