import java.awt.* import java.awt.BorderLayout as BL import javax.swing.WindowConstants as WC import org.jdesktop.swingx.mapviewer.* import org.jdesktop.swingx.JXMapViewer import groovy.swing.SwingBuilder def mapViewer = new JXMapViewer() def tfi = new TileFactoryInfo(0, 20, 17, 256, true, true, "http://mt.google.com/mt?w=2.43", "x", "y", "zoom") mapViewer.tileFactory = new DefaultTileFactory(tfi) mapViewer.zoom = 9 mapViewer.centerPosition = [43.835, 2.329] mapViewer.preferredSize = [800, 600] frame = new SwingBuilder().frame(title: 'Groovy Maps', defaultCloseOperation: WC.DISPOSE_ON_CLOSE) { panel(layout: new BL()) { panel(constraints: BL.CENTER) { widget(mapViewer) } panel(constraints: BL.SOUTH) { button(text: "+", actionPerformed: { mapViewer.zoom -= 1 }) button(text: "-", actionPerformed: { mapViewer.zoom += 1 }) } } } frame.pack() frame.visible = true