Existe algum componente java que tenha as características de um panel que plota mapa?
Por exemplo, zoom in e out, e movimentar o mapa com um “clique + segura + arrasta”
O Mapa que ploto é utilizando Java2d (drawPolygon).
To pesquisando sobre swingx e swingx ws, lá tem algo sobre mapa, mas por enquanto só sei como pegar da web, tipo google maps, passando uma url.
Bem, não sei anda pronto, mas voce pode fazer isso facilmente, o zoom aplicando um affinetransform ao Graphics2D, e o arrastar e soltar voce deve modificar as coordenadas de pintura de acordo com o drag do mouse.
Jean_Utf
Mas com o zoom in, alguns polígonos “sumirão”, como num mapa qualquer.
Como se eu tivesse um panel gigante, e só uma parte deste aparecesse. Quando eu arrastasse, o panel se moveria.
Mas com um panel comum não sei se isso é factível.
Acredito que já haja algo pronto… onde eu só passe meu array de coordenadas, e ele já plote, com essas características de mapa mesmo.
Valeu.
Marky.Vasconcelos
Com um JPanel não tem isso não, eu não disse que isso seria simples, disse que seria facil.
Voce só tem que modelar tudo isso corretamente.
Talvez uma API de grafos possa te ajudar, não tenho certeza.
Jean_Utf
Grafos?
Acho que não. Só preciso de um botão de zoom em um panel com polígonos plotados.
E que eu consiga movimentar esse mapa.
Mas tá tenso achar. Tenho certeza que já deve existir isso em algum lugar.
Valeu!
Marky.Vasconcelos
Eu já implementei isso em um MapBuilder(para jogos), e realmente voce tem que fazer o que eu disse, no arrastar do mouse, movimente todos seus pontos naquele sentido.
Jean_Utf
Consegui fazer utilizando um JPanel.
Usei o Graphics2D para pintar os polígonos (como já era antes) e os métodos scale, translate e createInverse do AffineTransform.
Scale para o zoom com o scroll do mouse e translate para o posicionamento (clicar e arrastar).
Para o primeiro usei o evento mouseWheelMoved, e o segundo mouseDragged, para fazer a lógica de atualização.
Valeu.
Até mais.
Marky.Vasconcelos
Era isso mesmo que eu imaginava, parabéns!
Jean_Utf
Valeu.
Achei uma api que faz isso também. OpenMap.
Tem todos os componentes para trabalhar com mapas, prontos. Show de bola.
Tem até um ZoomPanel… haha.
Mas não posso dizer se é bom ou não porque não usei. Mas me parece completão.
Mas vou agregar no meu sistema apenas no futuro.
Valeu ae… até mais.
AssemblyXP
Jean_Utf:
Consegui fazer utilizando um JPanel.
Usei o Graphics2D para pintar os polígonos (como já era antes) e os métodos scale, translate e createInverse do AffineTransform.
Scale para o zoom com o scroll do mouse e translate para o posicionamento (clicar e arrastar).
Para o primeiro usei o evento mouseWheelMoved, e o segundo mouseDragged, para fazer a lógica de atualização.
Valeu.
Até mais.
Opa, beleza… tem como postar a classe, ou so a parte que coloca zom e clica e arrasta a imagem no painel para ter-mos uma referencia??