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;
希望这对大家有帮助
我尝试显示来自我的自定义 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;
希望这对大家有帮助