OSM карты выглядят зашифрованными на андроиде - PullRequest
0 голосов
/ 25 апреля 2019

Я пытаюсь загрузить OpenStreetMaps в приложении для Android, но карта загружается неправильно. Они отображаются неупорядоченными.

Я использую автономный картографический сервер, который корректно загружается в браузере (используется листовка для демонстрации).

код следующий,

public class MapActivity extends AppCompatActivity {

    final private int MIN_ZOOM_LEVEL = 3;
    final private int MAX_ZOOM_LEVEL = 18;
    final private int TILE_SIZE = 256;
    final private String IMAGE_EXTENSION = ".png";

    MapView map = null;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        //load/initialize the osmdroid configuration
        Context ctx = getApplicationContext();
        Configuration.getInstance().load(ctx, PreferenceManager.getDefaultSharedPreferences(ctx));

        setContentView(R.layout.activity_map);
        map = (MapView) findViewById(R.id.map);

        map.setTilesScaledToDpi(true);
        map.setMultiTouchControls(true);


        map.setTileSource(new OnlineTileSourceBase("Tiles", 2, 18, 256, ".png",
                new String[] { "http://maps.MY-DOMAIN.com/tile/" }) {
            @Override
            public String getTileURLString(long pMapTileIndex) {

                String url = getBaseUrl()
                        + MapTileIndex.getZoom(pMapTileIndex)
                        + "/" + MapTileIndex.getX(pMapTileIndex)
                        + "/" + MapTileIndex.getY(pMapTileIndex)
                        + mImageFilenameEnding;

                Log.e("MAP",url);
                return url;
            }
        });
    }
}

То, что я в итоге получаю, это

enter image description here

Как я могу решить эту проблему? Я изучил документацию, но об этом ничего не сказано.

1 Ответ

2 голосов
/ 26 апреля 2019

Либо источником плиток является z / x / y против z / y / x ИЛИ координата y инвертирована, источник плиток ближе к спецификации TMS по сравнению с форматом скользкой карты, который используют открытые карты улиц. В любом случае, исправьте проблему, очистите кэш тайлов и попробуйте снова

...