I have a WMS tile source overlay on my Osmdroid map. On the overridden getTileURLString function I add time dimension to get a tile from a specific time.
@Override
public String getTileURLString(long pMapTileIndex) {
//https://stackoverflow.com/questions/28436050/how-to-work-osmdroid-with-web-map-service-wms-used-by-the-private-provider
String baseUrl = getBaseUrl();
StringBuilder sb = new StringBuilder(baseUrl);
if (!baseUrl.endsWith("&"))
sb.append("&");
sb.append("request=GetMap&width=").append(getTileSizePixels()).append("&height=").append(getTileSizePixels()).append("&version=").append("1.3.0");
sb.append("&layers=").append("radar-swiss:radarswiss");
sb.append("&bbox=");
MapView.WebMercatorBoundingBox bb = new MapView.WebMercatorBoundingBox(MapTileIndex.getX(pMapTileIndex), MapTileIndex.getY(pMapTileIndex), MapTileIndex.getZoom(pMapTileIndex));
sb.append(bb.getWest()).append(",");
sb.append(bb.getSouth()).append(",");
sb.append(bb.getEast()).append(",");
sb.append(bb.getNorth());
sb.append("&srs=").append("EPSG:3857");
sb.append("&format=image/png&transparent=true");
sb.append("&tiled=true");
if (currentFrameTiming != null) {
String mDateTime = getDateTimeFromTimeStamp(currentFrameTiming.getTimeInMillis(), WMSTimeFormat);
sb.append("&time=").append(mDateTime);
}
L.d("rewritten url: " + sb.toString());
return sb.toString();
}
Everything works fine but even time parameter seems to be ignored when osmdroid caches tiles. Even if time parameter is modified, the tile is not downloaded, but taken from the local cache.
How can I fix this?