2

我正在为我的雇主构建的应用程序使用 World Wind。我一直在关注官网推荐的教程,但是虽然很简单,但不是很详细。他在教程中使用的添加位置标记的方法在我的应用程序中对我不起作用,因为我不想使用ApplicationTemplate.

我已经创建了我的WorldWindowGLCanvas对象并将它集中在JPanelusing 中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到 myWorldWindowGLCanvas以便PointPlacemarks 出现,或者即使那我需要做的。我已经尝试了一大堆(可怕的)想法,但到目前为止还没有。

如何才能做到这一点?

4

1 回答 1

2

添加图层非常简单。

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

编辑:您是否通过设置其属性来设置 PointPlacemark 的图像?

PointPlacemarkAttributes atts = new PointPlacemarkAttributes();
atts.setImageAddress(String address);
placeMark.setAttributes(atts);
于 2013-09-05T15:55:31.823 回答