Osmdroid and Mapnik tile provider no longer working

NickT picture NickT · Jan 17, 2014 · Viewed 8k times · Source

I have a developed, deployed and previously successful application which uses Osmdroid to load tiles from the default tile provider which is Mapnik

mMapView.setTileSource(TileSourceFactory.DEFAULT_TILE_SOURCE);

or

mMapView.setTileSource(TileSourceFactory.MAPNIK);

Until recently (maybe since today) the tiles on real devices (a phone and a tablet) do not load anymore. I am using osmdroid version 3.0.5. If I try the latest 4.0 version in a small sample project on an emulator, I see '403 forbidden responses' in the logcat when trying to download maptiles. If I switch the tile source to

mMapView.setTileSource(TileSourceFactory.MAPQUESTOSM);

then the map is visible with no problem. I don't see any reported issues on the Osmdroid web site issues list, nor does a Google search reveal any new problems reported, so I am asking if anyone else sees this new behaviour from Mapnik and might know of a fix?

Answer

user3210008 picture user3210008 · Jan 18, 2014

Having the same problem as well.

Unfortunately, it seems that osmdroid was banned from accessing http://tile.openstreetmap.org. Reading the tile usage policy, I found these two things which might explain why osmdroid got banned:

Heavy use (e.g. distributing an app that uses tiles from openstreetmap.org) is forbidden without prior permission from the System Administrators.

and

Valid User-Agent identifying application. Faking another app's User-Agent WILL get you blocked.

(osmdroid's useragent is "Apache-HttpClient/UNAVAILABLE (java 1.4)" which is pretty generic)