osmdroid:加载自定义tilesource时显示的乱码

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

我尝试从我的自定义tileserver中显示切片。我正在使用自己的瓷砖服务器(在https://www.url.be上显示)瓷砖在这里显示正确。我只是不明白为什么我的瓷砖在Android工作室应用程序(使用osmdroid)搞砸了。放大时问题仍然存在。

看这个截图enter image description here

我的代码:

map = (MapView) findViewById(R.id.map);
// Create a custom tile source
map.setTileSource(new OnlineTileSourceBase("hot", 1, 20, 256, ".png",
new String[] { "https://www.url.be/hot/" }) {
    @Override
    public String getTileURLString(long pMapTileIndex) {
        return getBaseUrl()
        + MapTileIndex.getZoom(pMapTileIndex)
        + "/" + MapTileIndex.getY(pMapTileIndex)
        + "/" + MapTileIndex.getX(pMapTileIndex)
        + mImageFilenameEnding;
    }
});

//map.setTileSource(TileSourceFactory.MAPNIK);

map.setMultiTouchControls(true);
IMapController mapController = map.getController();
mapController.setZoom(15.0);
GeoPoint startPoint = new GeoPoint(51.111500, 3.985040);
mapController.setCenter(startPoint);

有什么建议吗?

java android android-studio osmdroid
1个回答
2
投票

所以,我一直在寻找这个问题。我不得不在代码中切换gettY和getX。

所以:

return getBaseUrl()
                        + MapTileIndex.getZoom(pMapTileIndex)
                        + "/" + MapTileIndex.getY(pMapTileIndex)
                        + "/" + MapTileIndex.getX(pMapTileIndex)
                        + mImageFilenameEnding;

错了,应该是:

return getBaseUrl()
                        + MapTileIndex.getZoom(pMapTileIndex)
                        + "/" + MapTileIndex.getX(pMapTileIndex)
                        + "/" + MapTileIndex.getY(pMapTileIndex)
                        + mImageFilenameEnding;

希望这有助于任何人

© www.soinside.com 2019 - 2024. All rights reserved.