Christopher said it best, ‘There is currently no way to use pre-cached tiles with Google Maps. Google uses a projection that is close to a simple mercator projection (+proj=merc), but the interactions through the API are all in decimal degrees. OpenLayers does not do reprojection on the client-side, so it does not speak to WMS in mercator while maintaining an internal concept of Google as being decimal-degrees based.’ And this code might be better off out from under WMS and put back into Grid.js where it was originally as an option (newTile) accessible by any of Grids subclasses. And this code might be better off out from under WMS and put back into Grid.js where it was originally as an option (newTile) accessible by any of Grids subclasses. The newTileforGrid_patch is the Mercator.js put back into Grid.js, which I think is now the better approach. I even made some tests for it! the right way to do this is still the CommercialMercator support. I need to be strongly argued that anything other than that is true. I still haven’t heard a strong reason for this. I’m going to close it, and if someone can argue strongly about why we shouldn’t be using a projected layer — especially given the new projection support that is slowly making its way to trunk — they can reopen. Source.