Google Map dans JAVA Swing

Voici mon code. Il n’y a pas d’erreur de compilation, mais je n’obtiens pas le résultat souhaité: la carte n’apparaît pas. Je souhaite ouvrir une carte statique Google dans mon JPanel et je souhaite également l’enregistrer sur mon disque local. C’est le code que j’utilise. Veuillez guider où je me trompe.

try { Ssortingng imageUrl = "http://maps.google.com/staticmap?center=40,26&zoom=1&size=150x112&maptype=satellite&key=ABQIAAAAgb5KEVTm54vkPcAkU9xOvBR30EG5jFWfUzfYJTWEkWk2p04CHxTGDNV791-cU95kOnweeZ0SsURYSA&format=jpg"; Ssortingng destinationFile = "image.jpg"; str = destinationFile; 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); } is.close(); os.close(); } catch (IOException e) { e.printStackTrace(); System.exit(1); } lp2_1.setIcon(new ImageIcon((new ImageIcon("image.jpg")).getImage() .getScaledInstance(630, 600, java.awt.Image.SCALE_SMOOTH))); } 

Je viens d’essayer cela, et cela a fonctionné comme un charme:

 import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.net.URL; import javax.swing.ImageIcon; import javax.swing.JFrame; import javax.swing.JLabel; public class Snippet { public static void main(Ssortingng[] args) throws IOException { JFrame test = new JFrame("Google Maps"); try { Ssortingng imageUrl = "http://maps.google.com/staticmap?center=40,26&zoom=1&size=150x112&maptype=satellite&key=ABQIAAAAgb5KEVTm54vkPcAkU9xOvBR30EG5jFWfUzfYJTWEkWk2p04CHxTGDNV791-cU95kOnweeZ0SsURYSA&format=jpg"; Ssortingng destinationFile = "image.jpg"; Ssortingng str = destinationFile; 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); } is.close(); os.close(); } catch (IOException e) { e.printStackTrace(); System.exit(1); } test.add(new JLabel(new ImageIcon((new ImageIcon("image.jpg")).getImage().getScaledInstance(630, 600, java.awt.Image.SCALE_SMOOTH)))); test.setVisible(true); test.pack(); } } 

lp2_1 se lp2_1 derrière lp2_1 fait, si vous n’obtenez pas la carte sur votre panneau, ce contrôle pourrait être le problème.

Remplacez la chaîne imageUrl de la réponse ci-dessus de Rappel à

Ssortingng imageUrl = ” https://maps.googleapis.com/maps/api/staticmap?center=40.714728,-73.998672&zoom=11&size=612×612&scale=2&maptype=roadmap “;

pour une carte d’un point géographique spécifique (latitude et longitude)

la latitude, la longitude, le niveau de zoom (0-21) et la taille (0-612) peuvent être facilement adaptés