Calling mergeNewParams on a WMS layer resets the tile image srcs fine. However, doing the same on a Kamap layer does not. This is because there is a mergeNewParams in WMS.js that calls this._initTiles(). However, Kamap.js does not have its own mergeNewParams function and uses the one in HTTPRequest.js. This version of the function does not call this._initTiles() because there is no grid here.
After discussing this with crschmidt in the #openlayers IRC channel, he determined that this should be fixed like so:
crschmidt: That's a bug
crschmidt: So, in HTTP Request, there *is* no _initTiles
crschmidt: because there is no grid
crschmidt: Instead, there should be a different mergeNewParams() in Grid.js
crschmidt: which should just be
crschmidt: [[[
crschmidt:
OpenLayers.Layer.HTTPRequest.prototype.mergeNewParams.apply(this,newArguments);
crschmidt: if (this.map != null) {
crschmidt: this._initTiles(); }
crschmidt: ]]]
crschmidt: and then the Layer.WMS mergeNewParams should not have the last line in it
This will allow the Kamap layer to re-init its tiles after calling this function. Currently a Kamap layer can not use the mergeNewParams function to reset/redraw its tiles.