/// <summary>
        /// generate the Request Url
        /// </summary>
        /// <returns></returns>
        public string GenerateRequestUrl()
        {
            var center = Address ?? (Location.Latitude + "," + Location.Longitude);
            var url    = string.Format(Request_Url, AppId, center, SizeX + "x" + SizeY, ZoomLevel, Sensor.ToString().ToLower());

            if (Scale.HasValue)
            {
                url = string.Concat(url, "&scale=", Scale);
            }

            if (ImageFormat != null)
            {
                url = string.Concat(url, "&format=", ImageFormat.Format);
            }

            if (MapType != null)
            {
                url = string.Concat(url, "&format=", MapType.MapType);
            }

            if (Markers != null)
            {
                url = string.Concat(url, Markers.BuildMarkerParameter());
            }

            if (!string.IsNullOrEmpty(Path))
            {
                url = string.Concat(url, "&path=", Path);
            }

            return(url);
        }