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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了osmdroid:加载自定义tilesource时显示的乱码相关的知识,希望对你有一定的参考价值。

我尝试从我的自定义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);

有什么建议吗?

答案

所以,我一直在寻找这个问题。我不得不在代码中切换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;

希望这有助于任何人

以上是关于osmdroid:加载自定义tilesource时显示的乱码的主要内容,如果未能解决你的问题,请参考以下文章

使用 osmdroid 覆盖项目的自定义信息气泡

Osmdroid 地图旋转

OSMDROID - 加载从 mapsforge 下载的 .map 文件

Osmdroid:如何从我自己的位图(图块)创建和加载地图?

OSMDroid PathOverlay

osmdroid离线地图不加载瓷砖