Changeset 9623 in osm for applications/editors/josm


Ignore:
Timestamp:
2008-08-10T20:09:05+02:00 (16 years ago)
Author:
tim
Message:

ADDED:
Quick and dirty implementation to switch between Mapnik and Osmarender map tiles

Location:
applications/editors/josm/plugins/slippy_map_chooser
Files:
5 added
2 edited

Legend:

Unmodified
Added
Removed
  • applications/editors/josm/plugins/slippy_map_chooser/src/OsmMapControl.java

    r9585 r9623  
    3131
    3232        private SizeButton iSizeButton = null;
     33        private SourceButton iSourceButton = null;
    3334
    3435        /**
    3536         * Create a new OsmMapControl
    3637         */
    37         public OsmMapControl(SlippyMapChooser navComp, JPanel contentPane, SizeButton sizeButton) {
     38        public OsmMapControl(SlippyMapChooser navComp, JPanel contentPane, SizeButton sizeButton, SourceButton sourceButton) {
    3839                this.iSlippyMapChooser = navComp;
    3940                iSlippyMapChooser.addMouseListener(this);
     
    5354                }
    5455                iSizeButton = sizeButton;
     56                iSourceButton = sourceButton;
    5557        }
    5658
     
    8688        public void mouseReleased(MouseEvent e) {
    8789                if (e.getButton() == MouseEvent.BUTTON1) {
     90                       
     91                        int sourceButton = iSourceButton.hit(e.getPoint());
     92                       
    8893                        if (iSizeButton.hit(e.getPoint())) {
    8994                                iSizeButton.toggle();
    9095                                iSlippyMapChooser.resizeSlippyMap();
    91                         } else {
     96                        }
     97                        else if(sourceButton == SourceButton.HIDE_OR_SHOW) {
     98                                iSourceButton.toggle();
     99                                iSlippyMapChooser.repaint();
     100                               
     101                        }else if(sourceButton == SourceButton.MAPNIK || sourceButton == SourceButton.OSMARENDER) {
     102                                iSlippyMapChooser.toggleMapSource(sourceButton);
     103                        }
     104                        else {
    92105                                if (e.getClickCount() == 1) {
    93106                                        iSlippyMapChooser.setSelection(iStartSelectionPoint, e.getPoint());
     
    98111                                }
    99112                        }
     113                       
    100114                }
    101115        }
  • applications/editors/josm/plugins/slippy_map_chooser/src/SlippyMapChooser.java

    r9537 r9623  
    1919import org.openstreetmap.gui.jmapviewer.JMapViewer;
    2020import org.openstreetmap.gui.jmapviewer.MapMarkerDot;
     21import org.openstreetmap.gui.jmapviewer.MemoryTileCache;
    2122import org.openstreetmap.gui.jmapviewer.OsmMercator;
     23import org.openstreetmap.gui.jmapviewer.OsmTileLoader;
    2224import org.openstreetmap.gui.jmapviewer.interfaces.MapMarker;
    2325import org.openstreetmap.josm.gui.download.DownloadDialog;
     
    4042
    4143        private SizeButton iSizeButton = new SizeButton();
     44        private SourceButton iSourceButton = new SourceButton();
    4245
    4346        // standard dimension
     
    6669                iGui.tabpane.add(temp, tr("Slippy map"));
    6770
    68                 new OsmMapControl(this, temp, iSizeButton);
     71                new OsmMapControl(this, temp, iSizeButton, iSourceButton);
    6972                boundingBoxChanged(gui);
    7073        }
     
    103106
    104107                        iSizeButton.paint(g);
     108                        iSourceButton.paint(g);
    105109                } catch (Exception e) {
    106110                        e.printStackTrace();
     
    199203                        int h = iScreenSize.height * 90 / 100;
    200204                        co.setBounds((iScreenSize.width - w) / 2, (iScreenSize.height - h) / 2, w, h);
     205                       
    201206                }
    202207                // shrink
     
    207212                        int h = iDownloadDialogDimension.height;
    208213                        co.setBounds((iScreenSize.width - w) / 2, (iScreenSize.height - h) / 2, w, h);
    209                 }
     214                       
     215                }
     216               
    210217                repaint();
    211218        }
     219       
     220        public void toggleMapSource(int mapSource){
     221                this.tileCache = new MemoryTileCache();
     222                if(mapSource == SourceButton.MAPNIK){
     223                        this.tileLoader = new OsmTileLoader(this,OsmTileLoader.MAP_MAPNIK);
     224                }else{
     225                        this.tileLoader = new OsmTileLoader(this,OsmTileLoader.MAP_OSMA);
     226                }
     227                repaint();
     228        }
    212229
    213230}
Note: See TracChangeset for help on using the changeset viewer.