从IconStyle中删除标签

时间:2013-11-19 20:23:43

标签: java kml jak

我正在使用Java API for KML(JAK)来编写一些KML。基本上,我有一条路线,在路线的每个顶点都是一个航路点。每个航路点都有可能拥有不同的图标图像,因此所需的KML看起来像这样:

<Placemark>
    <description>Hello World!</description>
    <Style>
        <IconStyle>
            <Icon>
                <href>image2.png</href>
            </Icon>
        </IconStyle>
    </Style>
    <Point>
        <coordinates>0,1,2</coordinates>
    </Point>
</Placemark>

相反,我得到这样的东西:

<Placemark>
<description>Hello World!</description>
    <Style>
        <IconStyle>
            <scale>0.0</scale>
            <heading>0.0</heading>
            <Icon>
                <href>image2.png</href>
                <refreshInterval>0.0</refreshInterval>
                <viewRefreshTime>0.0</viewRefreshTime>
                <viewBoundScale>0.0</viewBoundScale>
            </Icon>
        </IconStyle>
    </Style>
    <Point>
        <coordinates>0,1,2</coordinates>
    </Point>
</Placemark>

我正在尝试了解强制标记如<scale><refreshInterval>在我写的KML中的含义(如果我没有指定比例,我不想要标记在那里)。构建JAK的.xsd显示这些元素的minOccurs = 0,我尝试将值显式设置为-1.0并设置@XmlElement(required = false),尽管我是全新的对所有这一切,所以我甚至不确定这对写xml或只是阅读它有影响。

我应该补充一点,我还没有更改.xsd文件,所以这里是帮助生成代码的相关部分:

<element name="IconStyle" type="kml:IconStyleType" substitutionGroup="kml:AbstractColorStyleGroup" />
<complexType name="IconStyleType" final="#all">
    <complexContent>
        <extension base="kml:AbstractColorStyleType">
            <sequence>
                <element ref="kml:scale" minOccurs="0" />
                <element ref="kml:heading" minOccurs="0" />
                <element name="Icon" type="kml:BasicLinkType" minOccurs="0" />
                <element ref="kml:hotSpot" minOccurs="0" />
                <element ref="kml:IconStyleSimpleExtensionGroup" minOccurs="0" maxOccurs="unbounded" />
                <element ref="kml:IconStyleObjectExtensionGroup" minOccurs="0" maxOccurs="unbounded" />
            </sequence>
        </extension>
    </complexContent>
</complexType>

关于我需要改变什么的想法,以便这些标签不包含在0.0s中?如果我最终走得太深入,那么我自己也可以编写KML,但我发现JAK库到目前为止非常有用。

0 个答案:

没有答案