2013-09-05 6 views
2

저는 고용주를 위해 건축 할 신청서에 World Wind를 사용하고 있습니다. 나는 공식 웹 사이트에서 추천 한 tutorial을 따르고 있지만, 매우 간단하지만 그다지 상세하지는 않습니다. ApplicationTemplate을 사용하고 싶지 않기 때문에 자습서에서 장소 표시자를 추가하는 방법은 내 응용 프로그램에서 작동하지 않습니다.PointPlacemarks에 레이어를 추가하는 방법은 무엇입니까?

WorldWindowGLCanvas 개체를 만들고 JPanel에 중심을 두어 BorderLayout을 사용합니다.

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에 그 내 WorldWindowGLCanvasPointPlacemark이 표시되거나 인 경우에도 표시됩니다. 나는 (끔찍한) 아이디어의 전체 호스트를 시도했지만, 지금까지 아무것도.

어떻게이 작업을 수행 할 수 있습니까?

답변

2

레이어 추가는 매우 간단합니다.

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

편집 : 당신은 그것의 속성을 설정하여 PointPlacemark 이미지를 설정하고 있는가?

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

시도했지만 장소 표시는 여전히지도에 표시되지 않습니다. 해야 할 일이 있습니까? 적어도 나는 너무 멀지 않았다는 것을 안다. –

+0

월드 윈드를 적극적으로 코딩 한 지 몇 개월이 지났습니다. 레이어가 추가 된 후 wwd.repaint() 호출을 추가해야 할 수도 있습니다. – flight2039

+0

처음에는 정확했고 내 긴 값과 위도는 올바르지 않습니다 (그림을 그렸지만 지구의 다른쪽에 그렸습니다). 답변을 원래대로 수정하고 수락합니다. >. < –

관련 문제