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…