Пример #1
0
        public void GetTile(MapTileKey key, Action <IMapTile> success, Action <Exception> error)
        {
            var tilePosition = key.ToWorldPos();
            var parameters   = GetParameters();

            var url = string.Format(CultureInfo.InvariantCulture.NumberFormat, UrlTemplate,
                                    tilePosition.Y,
                                    tilePosition.X,
                                    key.LevelOfDetail,
                                    parameters.UseSecureConnection ? "https" : "http");

            if (parameters.MapType.HasValue)
            {
                url += "&maptype=" + parameters.MapType.ToString().ToLower();
            }

            if (!string.IsNullOrEmpty(parameters.Key))
            {
                url += "&key=" + parameters.Key;
            }

            if (!string.IsNullOrEmpty(parameters.Language))
            {
                url += "&language=" + parameters.Language;
            }

            WebRequestHelper.DownloadDataAsync(url, parameters.Timeout, stream => success(new MapTile(key, new ImageInfo(stream, null))), error);
        }
Пример #2
0
        public void GetTile(MapTileKey key, Action <IMapTile> success, Action <Exception> error)
        {
            var p          = key.ToWorldPos();
            var parameters = GetParameters();
            var url        = string.Format(CultureInfo.InvariantCulture.NumberFormat, UrlTemplate,
                                           parameters.Key,
                                           p.Y,
                                           p.X,
                                           key.LevelOfDetail,
                                           parameters.MapType.ToString().ToLower());

            if (!string.IsNullOrEmpty(parameters.Language))
            {
                url += "&language=" + parameters.Language;
            }
            WebRequestHelper.DownloadDataAsync(url, parameters.Timeout, stream => success(new MapTile(key, stream)), error);
        }