2010-01-03 13 views

Respuesta

2

Su mejor apuesta para Java del lado del cliente sería el Static Maps API. Para Java del lado del servidor, la respuesta dependerá en gran medida del marco que esté utilizando para el desarrollo. Una vez dicho esto, Google Maps API is well documented.

1

puede utilizar los laboratorios de aserrar, JXMapKit de SwingX: http://today.java.net/pub/a/today/2007/10/30/building-maps-into-swing-app-with-jxmapviewer.html

Es bastante sencillo. Para obtener más información, consulte el sitio web.

JXMapKit mapView = new JXMapKit(); 
mapView.setDefaultProvider(DefaultProviders.OpenStreetMaps); 
mapView.setDataProviderCreditShown(true); 
add(mapView) 

Se parece a esto:

alt text http://today.java.net/images/2007/10/basic_running_app.png

Tome un vistazo al código fuente en el artículo anterior, con tres líneas de código, puede ver un mapa fácilmente:

3

Puede usar Swing-WS, un componente JXMapViewer está disponible y proporciona una funcionalidad similar a la versión de JavaScript. Sin embargo, todavía no es legal acceder a los servidores de mosaico de Google fuera de las API proporcionadas: JavaScript y Flash.

Se ha abierto un problema para realizar un seguimiento de esta solicitud: http://code.google.com/p/gmaps-api-issues/issues/detail?id=1396. Está aprobado, pero quién sabe cuándo estará disponible.

0

si está buscando sólo un mapa estático la puede utilizar este código para obtener el mapa de trabajo:

import java.awt.BorderLayout; 

public class GoogleMapsGui extends JFrame { 

    final Logger log = Logger.getLogger(GoogleMapsGui.class.getName()); 
    private JPanel contentPane; 

    /** 
    * Launch the application. 
    */ 
    public static void main(String[] args) { 
     EventQueue.invokeLater(new Runnable() { 
      public void run() { 
       try { 
        GoogleMapsGui frame = new GoogleMapsGui(); 
        frame.setVisible(true); 
       } catch (Exception e) { 
        e.printStackTrace(); 
       } 
      } 
     }); 
    } 

    /** 
    * Create the frame. 
    */ 
    public GoogleMapsGui() { 
     setTitle("Map"); 
     setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
     setBounds(100, 100, 592, 352); 
     contentPane = new JPanel(); 
     contentPane.setBorder(new EmptyBorder(5, 5, 5, 5)); 
     setContentPane(contentPane); 

     JFrame test = new JFrame("Google Maps"); 

     try { 
      // String latitude = "-25.9994652"; 
      // String longitude = "28.3112051"; 
      String location = JOptionPane 
        .showInputDialog(" please enter the desired loccation");// get 
                      // the 
                      // location 
                      // for 
                      // geo 
                      // coding 
      Scanner sc = new Scanner(location); 
      Scanner sc2 = new Scanner(location); 
      String marker = ""; 
      String path = JOptionPane 
        .showInputDialog("what is your destination?"); 
      String zoom = JOptionPane 
        .showInputDialog("how far in do you want to zoom?\n" 
          + "12(zoomed out) - 20 (zoomed in)"); 

      String imageUrl = "https://maps.googleapis.com/maps/api/staticmap?"; 
      while (sc.hasNext()) {// add location to imageUrl 
       imageUrl = imageUrl + sc.next(); 
      } 
      marker = "&markers=color:red|"; 
      while (sc2.hasNext()) {// add marker location to marker 
       marker = marker + sc2.next() + ","; 

      } 
      marker = marker.substring(0, marker.length() - 1); 

      imageUrl = imageUrl + "&size=620x620&scale=2&maptype=hybrid" 
        + marker; 
      // 
      log.info("Generated url"); 

      String destinationFile = "image.jpg"; 

      // read the map image from Google 
      // then save it to a local file: image.jpg 
      // 
      URL url = new URL(imageUrl); 
      InputStream is = url.openStream(); 
      OutputStream os = new FileOutputStream(destinationFile); 

      byte[] b = new byte[2048]; 
      int length; 

      while ((length = is.read(b)) != -1) { 
       os.write(b, 0, length); 
      } 
      log.info("Created image.jpg"); 

      is.close(); 
      os.close(); 
      sc.close(); 
      sc2.close(); 
      log.info("Closed util's"); 
     } catch (IOException e) { 
      e.printStackTrace(); 
      System.exit(1); 
      log.severe("Could not create image.jpg"); 
     }// fin getting and storing image 

     ImageIcon imageIcon = new ImageIcon((new ImageIcon("image.jpg")) 
       .getImage().getScaledInstance(630, 600, 
         java.awt.Image.SCALE_SMOOTH)); 
     contentPane.setLayout(null); 
     JLabel imgMap = new JLabel(imageIcon); 
     imgMap.setBounds(5, 5, 571, 308); 
     contentPane.add(imgMap); 
    } 

} 

también echa un vistazo a la API de mapas estáticos Goolge here

Cuestiones relacionadas