There might be better ways to do this, but as per my knowledge following are the two ways you can do this.
1) Use
Google Static Map API[
^], they are simple querystring based API, which will return an Image as a result. also the maximum image size returned is 640 x 640, so you might want to query multiple times and combine the images.
(But in this case you will have to add those markers again)
2) A better solution is to call
getTileUrl()
method, this will return a URL that contains Image file of your current view.
This will give you Image of a particular tile that you are passing as a parameter at given zoom level. so you will have to call this for each tile in your view.
each tile of google map is 256 x 256 pixels. so depending upon how big is your map your tiles will be as follows.
0,0 1,0 2,0 3,0
0,1 1,1 2,1 3,1
0,2 1,2 2,2 3,2
0,3 1,3 2,3 3,3
I hope either of these complicated solutions will be helpful... :)