I use Geoserver, Openlayers, Extjs and GeoExt to build an app.

I am trying to get vector layer on Google map printed with pop up a Print dialog, I tried :

var targetElement = Ext.getCmp('mapPanel');
                    var myWindow = window.open('', '', 'width=600,height=500');
                    myWindow.document.write('<title>' + 'Title' + '</title>');

it works fine except that Vector layer were not printed. I got Google map only. How I can do that ?


Is your vector layer in the Google Mercator projection (900913)? I believe your vector layer has to be in the same coordinate system as the Google Map tiles.

  • 1
    Yes I use the new Google projection and transform vector layer using: .transform(new OpenLayers.Projection("EPSG:4326"),new OpenLayers.Projection("EPSG:3857")) ... it displayed on the map but when I print it on real paper I got Google layer only. – Shadin Sep 18 '12 at 8:56

Some browsers will require you enable the “Print background colors and images” in order to print properly.

Did you tried with different browsers?

  • Thanks! it works in Firefox but not in Chrome. How I could fix it ? – Shadin Sep 18 '12 at 10:49
  • Also, the popup of vector feature was not printed! though all features printed just fine. – Shadin Sep 18 '12 at 10:51
  • Maybe this can help: stackoverflow.com/questions/9984824/… and you can also try to play with Google Chrome hidden options - at the adress bar just type chrome://about/ and play with it (start with chrome://flags/) – jcoelho Sep 19 '12 at 14:50
  • And plus this one: stackoverflow.com/questions/2392366/… But may be not possible to do it on Google Chrome... – jcoelho Sep 19 '12 at 14:52

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.