相关疑难解决方法(0)

WorldWind PointPlacemark标题

在NASA WorldWind Java中,我使用PointPlacemark来表示图像,因为无论缩放级别如何,它都保持相同的大小.问题是我想在Point Placemark上设置标题,即使相机倾斜,它也会保持在指南针上.它在查看一个倾斜的地球仪时完全按照我想要的方式工作,但当我倾斜时,地标继续面向屏幕,而不是与地球一起倾斜,这会导致它变得奇怪.

这是一个GIF,说明了我所看到的:https: //giphy.com/embed/3o7WIqZUceR8xh6BOg

我希望点地标图像保持在相对于地球的标题上,即使在倾斜时 - 因此当视图倾斜时图像基本上"平坦化",而不管缩放级别如何仍保持相同的大小.

这是我正在使用的代码片段.我正在设置attrs.setHeadingReference(AVKey.RELATIVE_TO_GLOBE); 在关联的PointPlacemarkAttributes上.在此示例中,我将标题设置为135度.

import gov.nasa.worldwind.WorldWind;
import gov.nasa.worldwind.avlist.AVKey;
import gov.nasa.worldwind.geom.Position;
import gov.nasa.worldwind.layers.RenderableLayer;
import gov.nasa.worldwind.render.Offset;
import gov.nasa.worldwind.render.PointPlacemark;
import gov.nasa.worldwind.render.PointPlacemarkAttributes;

public class Placemarks extends ApplicationTemplate {
    public static class AppFrame extends ApplicationTemplate.AppFrame {

        public AppFrame() {
            super(true, true, false);

            final RenderableLayer layer = new RenderableLayer();

            PointPlacemark pp = new PointPlacemark(Position.fromDegrees(28, -102, 30000));
            pp.setLabelText("Airplane");
            pp.setLineEnabled(false);
            pp.setAltitudeMode(WorldWind.ABSOLUTE);
            PointPlacemarkAttributes attrs = new PointPlacemarkAttributes();
            attrs.setImageAddress("images/airplane.png");
            attrs.setScale(0.05);
            attrs.setImageOffset(Offset.CENTER);

            //Point to 135.0
            attrs.setHeading(135.0);
            attrs.setHeadingReference(AVKey.RELATIVE_TO_GLOBE);

            pp.setAttributes(attrs);

            layer.addRenderable(pp);

            // Add the …
Run Code Online (Sandbox Code Playgroud)

java opengl jogl worldwind

7
推荐指数
2
解决办法
549
查看次数

标签 统计

java ×1

jogl ×1

opengl ×1

worldwind ×1