IDL has reasonably good facilities for drawing maps and for displaying data on top of them.
map_set, /continents, /mercator, /isotropic
The Mercator projection is just one of a selection available
Map_set establishes a geographical co-ordinate system - most of the plotting commands work on top of the map. They assume that your x co-ordinate is longitude and your y co-ordinate is latitude.
map_set, /continents, /mercator, /isotropic longitude=findgen(360)-180 latitude=60*sin(longitude*!Pi/180.) oplot,longitude,latitude
Contour plots will work on top of a map, too.