private void OnRequestComplete(OnlineMapsWWW www)
    {
        if (www == null || !www.isDone) return;

        _status = www.hasError ? OnlineMapsQueryStatus.error : OnlineMapsQueryStatus.success;

        Texture2D texture = null;

        if (status == OnlineMapsQueryStatus.success)
        {
            texture = new Texture2D(1, 1);
            www.LoadImageIntoTexture(texture);
        }

        if (OnComplete != null) OnComplete(texture);
        if (status == OnlineMapsQueryStatus.success)
        {
            if (OnSuccess != null) OnSuccess(this);
        }
        else
        {
            if (OnFailed != null) OnFailed(this);
        }
        if (OnFinish != null) OnFinish(this);

        _status = OnlineMapsQueryStatus.disposed;
        customData = null;
        this.www = null;
    }
Пример #2
0
    private void StartDownloadOverlay(OnlineMapsTile tile)
    {
        if (tile.zoom < minZoom)
        {
            return;
        }
        if (overlays.ContainsKey(tile.key))
        {
            return;
        }

        string        url = string.Format(overlayURL, tile.zoom, tile.x, tile.y);
        OnlineMapsWWW www = new OnlineMapsWWW(url);

        www.OnComplete += delegate
        {
            if (tile.status == OnlineMapsTileStatus.disposed)
            {
                return;
            }

            Texture2D texture = new Texture2D(256, 256, TextureFormat.ARGB32, map.control.mipmapForTiles);
            www.LoadImageIntoTexture(texture);
            texture.wrapMode = TextureWrapMode.Clamp;
            overlays.Add(tile.key, texture);
            tile.OnDisposed += OnTileDisposed;

            if (enabled)
            {
                SetOverlay(tile as OnlineMapsRasterTile, texture);
                map.Redraw();
            }
        };
    }
    private void StartDownloadOverlay(OnlineMapsTile tile)
    {
        if (tile.zoom < minZoom)
        {
            return;
        }

        string        url = string.Format("https://maps.google.com/maps/vt?pb=!1m5!1m4!1i{0}!2i{1}!3i{2}!4i256!2m8!1e2!2ssvv!4m2!1scb_client!2sapiv3!4m2!1scc!2s*211m3*211e3*212b1*213e2*211m3*211e2*212b1*213e2!3m5!3sUS!12m1!1e40!12m1!1e18", tile.zoom, tile.x, tile.y);
        OnlineMapsWWW www = new OnlineMapsWWW(url);

        www.OnComplete += delegate
        {
            if (tile.status == OnlineMapsTileStatus.disposed)
            {
                return;
            }

            Texture2D texture = new Texture2D(256, 256, TextureFormat.ARGB32, map.control.mipmapForTiles);
            www.LoadImageIntoTexture(texture);
            texture.wrapMode = TextureWrapMode.Clamp;
            overlays.Add(tile.key, texture);
            tile.OnDisposed += OnTileDisposed;

            if (enabled)
            {
                tile.overlayFrontTexture = texture;
                map.Redraw();
            }
        };
    }
Пример #4
0
    private void OnRequestComplete(OnlineMapsWWW www)
    {
        if (www != null && www.isDone)
        {
            _status = string.IsNullOrEmpty(www.error) ? OnlineMapsQueryStatus.success : OnlineMapsQueryStatus.error;

            if (OnComplete != null)
            {
                if (_status == OnlineMapsQueryStatus.success)
                {
                    Texture2D texture = new Texture2D(1, 1);
                    www.LoadImageIntoTexture(texture);
                    OnComplete(texture);
                }
                else
                {
                    OnComplete(null);
                }
            }
            if (OnFinish != null)
            {
                OnFinish(this);
            }

            _status    = OnlineMapsQueryStatus.disposed;
            customData = null;
            this.www   = null;
        }
    }
Пример #5
0
        /// <summary>
        /// This method is called when downloading photo texture.
        /// </summary>
        /// <param name="texture2D">Photo texture</param>
        private void OnDownloadPhotoComplete(OnlineMapsWWW www)
        {
            Texture2D texture = new Texture2D(1, 1);

            www.LoadImageIntoTexture(texture);

            // Set place texture to bubble popup
            photo.texture = texture;
        }
Пример #6
0
    protected override void LoadTileFromWWW(OnlineMapsWWW www)
    {
        if (map.control.resultIsTexture)
        {
            DownloadComplete();
            if (status != OnlineMapsTileStatus.error)
            {
                map.buffer.ApplyTile(this);
            }
        }
        else
        {
            Texture2D tileTexture = new Texture2D(256, 256, TextureFormat.RGB24, map.control.mipmapForTiles)
            {
                wrapMode = TextureWrapMode.Clamp
            };

            if (map.useSoftwareJPEGDecoder)
            {
                OnlineMapsRasterTile.LoadTexture(tileTexture, www.bytes);
            }
            else
            {
                www.LoadImageIntoTexture(tileTexture);
            }

            tileTexture.name = zoom + "x" + x + "x" + y;

            CheckTextureSize(tileTexture);

            if (status != OnlineMapsTileStatus.error && status != OnlineMapsTileStatus.disposed)
            {
                texture = tileTexture;
                status  = OnlineMapsTileStatus.loaded;
            }
        }

        if (status != OnlineMapsTileStatus.error && status != OnlineMapsTileStatus.disposed)
        {
            if (OnTileDownloaded != null)
            {
                OnTileDownloaded(this);
            }
        }

        MarkLoaded();
        map.Redraw();
    }