2013-09-05 60 views
2

我正在使用World Wind來爲我的僱主創建應用程序。我一直在關注官方網站推薦的tutorial,但它很簡單,但不是很詳細。他在他的教程中使用的添加位置標記的方法在我的應用程序中不適用於我,因爲我不想使用ApplicationTemplate如何使用PointPlacemarks的添加圖層?

我已經創建了我的WorldWindowGLCanvas對象,並且使用BorderLayout將它集中在JPanel中,就像這樣;

wwd = new WorldWindowGLCanvas(); 
wwd.setPreferredSize(this.getPreferredSize()); 
wwd.setModel(new BasicModel()); 
wwd.getView().setEyePosition(Position.fromDegrees(53.044516, -1.659794, 65e4)); // Set initial view position. ie over England. 
layer = new RenderableLayer(); 
... 
this.setLayout(new BorderLayout()); 
this.add(wwd, BorderLayout.CENTER); 

然後(從其他類中的方法),我創建了PointPlacemark對象,並將它們添加到layer ...

pointPosition = Position.fromDegrees(periodical.getLatitude(), periodical.getLongitude()); 
placeMark = new PointPlacemark(pointPosition); 
placeMark.setValue(AVKey.DISPLAY_NAME, periodical.getReference()); 
thisOne.layer.addRenderable(placeMark); 

但現在我無法弄清楚如何添加layer到我的WorldWindowGLCanvas,以便PointPlacemark會出現,或者即使那我需要做的。我已經嘗試了一大堆(可怕的)想法,但迄今爲止沒有。

這怎麼辦?

回答

2

添加圖層非常簡單。

wwd.getModel().getLayers().add(layer); 

編輯: 你設置圖像通過設置其屬性PointPlacemark?

PointPlacemarkAttributes atts = new PointPlacemarkAttributes(); 
atts.setImageAddress(String address); 
placeMark.setAttributes(atts); 
+0

我試過了,但地圖標記在地圖上仍然不可見。還有什麼需要做的嗎?至少我知道我並不太遙遠。 –

+0

自從我與World Wind積極編碼已經過去幾個月。添加圖層後,可能需要添加wwd.repaint()調用。 – flight2039

+0

事實證明,你第一次是正確的,我的長期和緯度值是不正確的(這是繪畫,但他們在地球的另一端繪畫)。我會編輯你的答案回到它是如何並接受它。 >< –