osmdroid: испорчены плитки, отображаемые при загрузке собственного источника плиток - PullRequest
0 голосов
/ 21 декабря 2018

Я пытаюсь показать плитки с моего собственного сервера.Я использую свой собственный сервер плиток (показанный на https://www.url.be). Здесь плитки отображаются правильно. Я просто не понимаю, почему мои плитки испорчены в приложении Android Studio (с помощью 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);

Любой совет по этому поводу?

1 Ответ

0 голосов
/ 22 декабря 2018

Итак, я продолжил поиск по этому вопросу.Я должен был переключить 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;

Надеюсь, это кому-нибудь поможет

...