KML运动方向线

3
我一直在使用NASA WorldWind和Google Earth。我正在使用一个KML placemark作为图标,并希望在KML中复制Header / Leader Line。我希望能够实现2525符号中类似于DIRECTION_OF_MOVEMENT线的引导线。基本上,该线指示对象移动的方向,并且无论地图的方向如何,它都保持指向该方向,如附加的屏幕截图中的黑色线所示。如何在Google Earth中使用KML来复制这个功能?

enter image description here

2个回答

4
抱歉,我无法在评论中请求澄清(我的声望不够)。我假设您正在寻找一种输入标题并使Google Earth自动指向该方向的方法,因为目前要绘制该线需要计算每个标题行的起始和结束坐标。
如果是这种情况,我发现唯一允许我指定标题的地方是IconStyle。以下是我的实现方法:
1. 创建一个图标,描绘您的标题线向上指向北方的方式旋转0度,例如垂直线(使用图标的额外好处是当您在Google Earth上缩放时可以进行比例缩放)。 2. 使用Style和IconStyle使用步骤1中的图标。 3. 在您的Placemark中使用Style,并添加另一个Style来设置标题。
以下是示例实现:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<kml xmlns="http://earth.google.com/kml/2.1">
    <Document>
        <Style id="headingexample">
            <IconStyle>
                <scale>1</scale>
                <Icon>
                    <href>http://freevector.co/wp-content/uploads/2013/11/1625-vertical-line3.png</href>
                </Icon>
            </IconStyle>
        </Style>
        <Placemark>
            <styleUrl>#headingexample</styleUrl>
            <Style>
                <IconStyle>
                    <heading>135</heading>
                </IconStyle>
            </Style>
            <Point>
                <coordinates>-99.21,40.01</coordinates>
            </Point>
        </Placemark>
    </Document>
</kml>

正是我所需要的。谢谢! - mainstringargs
请在接受之前检查它是否有效,我全部是靠记忆完成的 :) 如果标题在IconStyle标签中的内联样式中不起作用,则可能需要将其移回到原始的Style定义中,这可能会使工作流程稍微复杂一些,但仍然比手动计算终点好。 - Andrew C.
@dubdubdubdot 嘿,伙计们,不确定这个是否一样有效。它的移动方式取决于你倾斜的方向。看看:NASA:http://i.imgur.com/1inWyy4.gif - 和 Google(Andrew的解决方案):http://i.imgur.com/Np1vZ4e.gif - Ivan Chaer
好观点。这真令人沮丧。对于我的目的来说,俯视图是最重要的,但侧视图的倾斜并不理想。 - mainstringargs
@dubdubdubdot 我在我的答案中添加了一个站位符图标与一条线相结合的GIF,请你检查并让我知道你的看法如何? - Ivan Chaer
我喜欢它在倾斜时保持更好的“定向”,但唯一的缺点是除非你放大视图,否则无法看到标题行。看起来每种方法都有优缺点--将线作为线串时,在倾斜时定向更好,但将线作为图标时,它的工作方式更像Worldwind(除了倾斜)。 - mainstringargs

1
使用自定义浮动标记和3D轨迹如何? 看它工作查看NASA Worldwind参考
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<kml xmlns="http://earth.google.com/kml/2.1">
    <Document>

        <!-- Icon -->
        <Style id="tactical_symbol_placemark">
            <IconStyle>
                <scale>4</scale>
                <Icon>
                    <href>http://i.imgur.com/EEhQcPj.png</href>
                </Icon>
            </IconStyle>
        </Style>
        <Placemark>
            <styleUrl>#tactical_symbol_placemark</styleUrl>
            <Point>
                <altitudeMode>relativeToGround</altitudeMode>
                <coordinates>-114.19327,51.4292695,6000</coordinates>
            </Point>
        </Placemark>

        <!-- Line -->
        <Style id="track_line">
            <LineStyle>
                <color>FF000000</color>
                <width>5.0</width>
            </LineStyle>
        </Style>
        <Folder>
            <name>tactical_symbols</name>
            <Placemark>
                <name>testing-Placemark-2</name>
                <styleUrl>#track_line</styleUrl>
                <LineString>
                    <extrude>false</extrude>
                    <altitudeMode>relativeToGround</altitudeMode>
                    <coordinates>-114.19827,51.279256,6000 -114.18827,51.579283,6000</coordinates>
                </LineString>
            </Placemark>
        </Folder>
    </Document>
</kml>

这大概是我想要的,但我希望该线指向轨道前进的方向(例如从北极点开始逆时针旋转135度)。 - mainstringargs
是的,就像那样,但要有一个类似于WorldWind截图中所示的引线。 - mainstringargs

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接