Google Maps

Bom dia Pessoal

estou tentando fazer uma consulta no google maps.
mais ao executar o metodo


public class GoogleMapsStatic {

    public void GeraVisualizacao(String endereco) throws Exception{

        String adresse;
	adresse = endereco;


//        getImage(urlEncode(endereco));
	JFrame frame = new JFrame();
	JPanel panel = new JPanel();              //  http://maps.googleapis.com/maps/api/staticmap?center=Berkeley,CA&zoom=14&size=400x400&sensor=false

        URL url = new URL("http://maps.googleapis.com/maps/api/staticmap?center=Berkeley,CA&zoom=14&size=400x400&sensor=false");
	BufferedImage image = ImageIO.read(url);

        JLabel label = new JLabel(new ImageIcon(image));
	panel.add(label);
	frame.add(panel);
	frame.pack();
	frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	frame.setLocationRelativeTo(null);
	frame.setVisible(true);
    }
}

Acontece o seguinte erro

javax.imageio.IIOException: Can't get input stream from URL!
        at javax.imageio.ImageIO.read(ImageIO.java:1369)
        at GoogleMapsStatic.GeraVisualizacao(GoogleMapsStatic.java:146)
        at frmPrincipal.jMenuItemGoogleMapsActionPerformed(frmPrincipal.java:112)
        at frmPrincipal.access$100(frmPrincipal.java:22)
        at frmPrincipal$2.actionPerformed(frmPrincipal.java:72)
        at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
        at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
        at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
        at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
        at javax.swing.AbstractButton.doClick(AbstractButton.java:357)
        at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:1170)
        at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:1211)
        at java.awt.Component.processMouseEvent(Component.java:6038)
        at javax.swing.JComponent.processMouseEvent(JComponent.java:3260)
        at java.awt.Component.processEvent(Component.java:5803)
        at java.awt.Container.processEvent(Container.java:2058)
        at java.awt.Component.dispatchEventImpl(Component.java:4410)
        at java.awt.Container.dispatchEventImpl(Container.java:2116)
        at java.awt.Component.dispatchEvent(Component.java:4240)
        at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4322)
        at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3986)
        at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3916)
        at java.awt.Container.dispatchEventImpl(Container.java:2102)
        at java.awt.Window.dispatchEventImpl(Window.java:2429)
        at java.awt.Component.dispatchEvent(Component.java:4240)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)
        at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)
Caused by: java.net.SocketException: Connection reset
        at java.net.SocketInputStream.read(SocketInputStream.java:168)
        at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
        at java.io.BufferedInputStream.read1(BufferedInputStream.java:258)
        at java.io.BufferedInputStream.read(BufferedInputStream.java:317)
        at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:632)
        at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:577)
        at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:597)
        at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1004)
        at java.net.URL.openStream(URL.java:1009)
        at javax.imageio.ImageIO.read(ImageIO.java:1367)
        ... 31 more
CONSTRUÍDO COM SUCESSO (tempo total: 4 minutos 30 segundos)

Carinha, aparentemente o que você está fazendo é para funcionar. Fiz algo similar para testes:

[code]import java.awt.Rectangle;
import java.awt.image.BufferedImage;
import java.awt.image.ColorModel;
import java.awt.image.Raster;
import java.awt.image.RenderedImage;
import java.awt.image.SampleModel;
import java.awt.image.WritableRaster;
import java.io.File;
import java.io.InputStream;
import java.net.URL;
import java.util.Vector;

import javax.imageio.ImageIO;

public class TesteGoogleMaps {

public static void main(String[] args) throws Throwable {
	URL url = new URL("http://maps.googleapis.com/maps/api/staticmap?center=Berkeley,CA&zoom=14&size=400x400&sensor=false");  
	BufferedImage image = ImageIO.read(url);
	

	ImageIO.write(image, "jpg", new File("out.jpg") );
}

}[/code]

Então, o que pode estar acontecendo é que a aplicação java não está conseguindo acessar a internet. Verifique se há algum firewall impedindo o acesso.

Entendi, pode ser o proxy da empresa ?

Se for tenho e só informar junto ?

Carinha, googley “java url proxy” e ele me veio com esse link:
http://docs.oracle.com/javase/6/docs/technotes/guides/net/proxies.html. Esse cara fala como configurar o proxy para uma conexão.
Dá pra fazer por System.property:

[code]System.setProperty(“http.proxyHost”, “webcache.mydomain.com”);
System.setPropery(“http.proxyPort”, “8080”);

// Next connection will be through proxy.
URL url = new URL(“http://java.sun.com/”);
InputStream in = url.openStream();

// Now, let’s ‘unset’ the proxy.
System.setProperty(“http.proxyHost”, null);

// From now on http connections will be done directly.[/code]

Fiz a seguinte alteração no meu codigo


        System.setProperty("http.proxySet", "true");
        System.setProperty("http.proxyHost", "192.200.9.7");
        System.setProperty("http.proxyPort", "3128");
        System.getProperties().put("http.proxyPort", "8080");  
        System.setProperty("http.proxyType", "4");
        String proxyUser = "ifariaj";
        String proxyPassword = "**";

Porem ainda está apresentando o seguinte erro :

SEVERE: null
java.net.SocketException: Connection reset
        at java.net.SocketInputStream.read(SocketInputStream.java:168)
        at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
        at java.io.BufferedInputStream.read1(BufferedInputStream.java:258)
        at java.io.BufferedInputStream.read(BufferedInputStream.java:317)
        at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:632)
        at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:577)
        at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:597)
        at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1004)
        at java.net.URL.openStream(URL.java:1009)
        at GoogleMapsStatic.GeraVisualizacao(GoogleMapsStatic.java:41)
        at frmPrincipal.jMenuItemGoogleMapsActionPerformed(frmPrincipal.java:112)
        at frmPrincipal.access$100(frmPrincipal.java:22)
        at frmPrincipal$2.actionPerformed(frmPrincipal.java:72)
        at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
        at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
        at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
        at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
        at javax.swing.AbstractButton.doClick(AbstractButton.java:357)
        at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:1170)
        at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:1211)
        at java.awt.Component.processMouseEvent(Component.java:6038)
        at javax.swing.JComponent.processMouseEvent(JComponent.java:3260)
        at java.awt.Component.processEvent(Component.java:5803)
        at java.awt.Container.processEvent(Container.java:2058)
        at java.awt.Component.dispatchEventImpl(Component.java:4410)
        at java.awt.Container.dispatchEventImpl(Container.java:2116)
        at java.awt.Component.dispatchEvent(Component.java:4240)
        at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4322)
        at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3986)
        at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3916)
        at java.awt.Container.dispatchEventImpl(Container.java:2102)
        at java.awt.Window.dispatchEventImpl(Window.java:2429)
        at java.awt.Component.dispatchEvent(Component.java:4240)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)
        at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)

o que pode ser ?

import java.awt.image.BufferedImage;
import java.net.URL;
import javax.imageio.ImageIO;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;

public class GoogleMapsStatic {

    public void GeraVisualizacao(String endereco) throws Exception{

        String adresse;
	adresse = endereco;

// getImage(urlEncode(endereco));
JFrame frame = new JFrame();
JPanel panel = new JPanel(); // http://maps.googleapis.com/maps/api/staticmap?center=Berkeley,CA&zoom=14&size=400x400&sensor=false

        URL url = new URL("http://maps.googleapis.com/maps/api/staticmap?center=Berkeley,CA&zoom=14&size=400x400&sensor=false");
	BufferedImage image = ImageIO.read(url);

        JLabel label = new JLabel(new ImageIcon(image));
	panel.add(label);
	frame.add(panel);
	frame.pack();
	frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	frame.setLocationRelativeTo(null);
	frame.setVisible(true);
     }

}

Cara não entendi, vc postou meu codigo original, mais não estou conseguindo executar daqui com eles, pois tem proxy…

[quote=aszarael]Fiz a seguinte alteração no meu codigo


        System.setProperty("http.proxySet", "true");
        System.setProperty("http.proxyHost", "192.200.9.7");
        System.setProperty("http.proxyPort", "3128");
        System.getProperties().put("http.proxyPort", "8080");  
        System.setProperty("http.proxyType", "4");
        String proxyUser = "ifariaj";
        String proxyPassword = "**";

Porem ainda está apresentando o seguinte erro :

SEVERE: null
java.net.SocketException: Connection reset
        at java.net.SocketInputStream.read(SocketInputStream.java:168)
        at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
        at java.io.BufferedInputStream.read1(BufferedInputStream.java:258)
        at java.io.BufferedInputStream.read(BufferedInputStream.java:317)
        at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:632)
        at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:577)
        at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:597)
        at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1004)
        at java.net.URL.openStream(URL.java:1009)
        at GoogleMapsStatic.GeraVisualizacao(GoogleMapsStatic.java:41)
        at frmPrincipal.jMenuItemGoogleMapsActionPerformed(frmPrincipal.java:112)
        at frmPrincipal.access$100(frmPrincipal.java:22)
        at frmPrincipal$2.actionPerformed(frmPrincipal.java:72)
        at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
        at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
        at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
        at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
        at javax.swing.AbstractButton.doClick(AbstractButton.java:357)
        at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:1170)
        at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:1211)
        at java.awt.Component.processMouseEvent(Component.java:6038)
        at javax.swing.JComponent.processMouseEvent(JComponent.java:3260)
        at java.awt.Component.processEvent(Component.java:5803)
        at java.awt.Container.processEvent(Container.java:2058)
        at java.awt.Component.dispatchEventImpl(Component.java:4410)
        at java.awt.Container.dispatchEventImpl(Container.java:2116)
        at java.awt.Component.dispatchEvent(Component.java:4240)
        at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4322)
        at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3986)
        at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3916)
        at java.awt.Container.dispatchEventImpl(Container.java:2102)
        at java.awt.Window.dispatchEventImpl(Window.java:2429)
        at java.awt.Component.dispatchEvent(Component.java:4240)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)
        at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)

o que pode ser ?[/quote]

Carinha, sem ir praí tá difícil, né? Só uma coisa, você tá setando duas coisas juntas aí, né? O proxyPort é setado como 3128 e como 8080… Mas, fiz outra coisa:

google “proxy” e “java.net.ConnectionException” e veio o seguinte link: http://stackoverflow.com/questions/62929/java-net-socketexception-connection-reset
Uma das coisas que esse link fala é de uma ferramenta pra sniffar o que tá acontecendo na rede. Olha lá.

Espero que ajude…