2011-01-28 5 views
0

Недавно я столкнулся с JXMapKit, я не сильный программист, но хотел бы использовать его в своем приложении. Я использую Eclipse и имею приложение для создания графического интерфейса. Я хотел бы включить JXMapKit в свой графический интерфейс. У меня есть ArrayList latitutude/longitude, используя координаты, которые я хочу отображать наложение пути на карте.JXMapKit помогите приступить к работе

Из того, что я прочитал, он легко может быть включен в Swing, но не нашел примеров, достаточно простых для понимания и начала меня. Я создал новый проект и просто хотел отобразить карту, но столкнулся с ошибками. Насколько я понял, он не мог загружать плитки? Может быть, это плохой файл jar или мне нужно установить поставщика плитки? Заранее благодарю за любую помощь.

import javax.swing.JFrame; 
import org.jdesktop.swingx.JXMapKit; 
import org.jdesktop.swingx.JXMapKit.DefaultProviders; 

public class MapTest { 
    public static void createGui(){ 
     JFrame frame = new JFrame(); 
     frame.setVisible(true); 
     frame.setSize(400, 400); 
     JXMapKit mapViewer = new JXMapKit(); 
     mapViewer.setDefaultProvider(DefaultProviders.OpenStreetMaps); 
     mapViewer.setDataProviderCreditShown(true); 
     frame.add(mapViewer); 
    } 

    public static void main(String[] args){ 
     createGui(); 
    } 
} 

и эти ошибки:

Failed to load a tile at url: http://tile.openstreetmap.org/6/32/21.png 
java.lang.NoSuchMethodError: org.jdesktop.swingx.util.PaintUtils.loadCompatibleImage(Ljava/io/InputStream;)Ljava/awt/image/BufferedImage; 
at org.jdesktop.swingx.mapviewer.DefaultTileFactory$TileRunner.run(DefaultTileFactory.java:375) 
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) 
at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source) 
at java.util.concurrent.FutureTask.run(Unknown Source) 
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) 
at java.lang.Thread.run(Unknown Source) 

Если я достаю множество setDefaultProvider к OpenStreetMaps он все равно не в состоянии загрузить поставщика по умолчанию.

+0

Он работает в настоящее время. Проблема заключалась в файле jar, он не поддерживал метод, который он должен был использовать. – t0x13

+0

извините за поздний комментарий, я тоже переживаю то же самое. Можете ли вы рассказать нам больше, как вы преодолели это? – zIronManBox

ответ

2
mapViewer.setDefaultProvider(DefaultProviders.OpenStreetMaps); 

изменения для

mapViewer.setDefaultProvider(org.jdesktop.swingx.JXMapKit.DefaultProviders.OpenStreetMaps); 
Смежные вопросы