SkAndroidCodec::NewFromStream 返回 null

问题描述 投票:0回答:0

我正在开发一个Android应用程序。当tileprovider 在地图上平铺 wms 时,我一直在 Android Monitor 上看到这一点。

D/skia: --- SkAndroidCodec::NewFromStream returned null
D/skia: --- SkAndroidCodec::NewFromStream returned null
D/skia: --- SkAndroidCodec::NewFromStream returned null
D/skia: --- SkAndroidCodec::NewFromStream returned null

这是我的代码:

public class TileProviderFactory {
    // return a geoserver wms tile layer
    static TileProvider getTileProvider(final String url) {
        TileProvider tileProvider = new WMSTileProvider(256,256) {
        Bitmap image;
            @Override
            public synchronized URL getTileUrl(int x, int y, int zoom) {
               
                double[] bbox = getBoundingBox(x, y, zoom);
                String s;
                if (zoom > 15) {                    
                    s = url + "%26bbox%3D" + String.valueOf(bbox[MINX]) + "%2C"+ String.valueOf(bbox[MINY]) +
                              "%2C"+ String.valueOf(bbox[MAXX]) + "%2C"+ String.valueOf(bbox[MAXY]) ;

                } else {
                    s = "";
                }

                URL url = null;

                try {
                    url = new URL(s);

                    HttpsURLConnection connection = (HttpsURLConnection)url.openConnection();
                    // Fetch and set cookies in requests
                    CookieManager cookieManager = CookieManager.getInstance();
                    String cookie = cookieManager.getCookie(connection.getURL().toString());
                    if (cookie != null) {
                        connection.setRequestProperty("Cookie", cookie);
                    }
                    InputStream inputStream = connection.getInputStream();
                    image = BitmapFactory.decodeStream(inputStream);
                    inputStream.close();

                } catch (MalformedURLException e) {
                    e.printStackTrace();
                } catch (IOException e) {
                    e.printStackTrace();
                }
                    
                return url;

            }
        };

        return tileProvider;
    }
}

当我删除 cookie 时,一切都没有改变。我认为 wms 平铺时 cookie 不起作用。你有什么建议吗?我能做些什么?谢谢。

java android google-maps tile wms
© www.soinside.com 2019 - 2024. All rights reserved.