I am developing an android mapping app using OSMDroid. I am attempting to use free custom aerial imagery, completely independent of Google and/or Bing APIs. Please, do not propose any solution that uses their mapping APIs.
I have managed to display satellite imagery by including this code:
mapView.setTileSource(TileSourceFactory.MAPQUESTAERIAL);
but Tile Server does not offer tiling above 11 zoom and I need to get closer than that (say 15-16?).
Using ArcGIS tile server, I manage to display satellite imagery even to 16 layer zoom level, but tiles are shuffled around.
mapControl = (MapController) mapView.getController();
mapControl.setZoom(11);
String[] urlArray = {"http://server.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer/tile/"};
mapView.setTileSource(new XYTileSource("ArcGisOnline", null, 0, 18, 256, ".png",urlArray ));
Basemap tiles are shuffled and do not correspond to lat/lon, but overlay is ok.
Best Answer
According to the osmdroid Map Sources page, ESRI map services use the ZYX URL tile numbering format instead of slippy maps' ZXY that osmdroid uses.
Did you account for that? It would seem to explain your shuffled image... you need to convert according to the osmdroid GitHub page.