osmdroid:加载自定义 tilesource 时显示的瓷砖混乱

osmdroid: messed up tiles shown when loading custom tilesource

我尝试显示来自我的自定义 tileserver 的图块。 我正在使用自己的 tileserver(显示在 https://www.url.be) 瓷砖在这里显示正确。 我只是不明白为什么我的图块在 android studio 应用程序(使用 osmdroid)上乱七八糟。放大时问题仍然存在。

查看此屏幕截图

还有我的代码:

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);

对此有何建议?

所以,我一直在进一步研究这个问题。 我不得不在代码中切换 getY 和 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;

希望这对大家有帮助