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