彩色多边形轮廓仅显示为全白色不透明多边形

Colored polygon outlines displayed as just all white opaque polygons

有人与我分享了在 Google Earth Web 中创建的 kml 以及它的屏幕截图。

当我在 Google 地球专业版中打开它时,彩色多边形显示为纯白色。

为了进行测试,我在 Google Earth Web 中创建了一个测试多边形并将其导出为 KML。

  1. 项目 > 新建项目 > 创建 KML 文件
  2. 画线或形状 > 创建多边形
  3. 将红色填充颜色设置为 75%
  4. 设置颜色 4px
  5. Select 导出为 KML

同样,多边形在 Google 地球专业版中显示为白色框。

导出的 KML 结构如下:

<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns=http://www.opengis.net/kml/2.2 xmlns:gx=http://www.google.com/kml/ext/2.2 xmlns:kml=http://www.opengis.net/kml/2.2 xmlns:atom=http://www.w3.org/2005/Atom>
<Document>
        <name>Untitled Project</name>
        <gx:CascadingStyle kml:id="__managed_style_147D324643211BD21CEE">
                <Style>
                        <IconStyle>
                                <Icon>
                                        <href>https://earth.google.com/earth/rpc/cc/icon?color=1976d2&amp;id=2000&amp;scale=4</href>
                                 </Icon>
                                 <hotSpot x="64" y="128" xunits="pixels" yunits="insetPixels"/>
                        </IconStyle>
                        <LabelStyle>
                        </LabelStyle>
                        <LineStyle>
                            <color>ffa21f7b</color>
                            <width>3.63636</width>
                        </LineStyle>
                        <PolyStyle>
                            <color>c02f2fd3</color>
                        </PolyStyle>
                        <BalloonStyle>
                            <displayMode>hide</displayMode>
                        </BalloonStyle>
                </Style>
            </gx:CascadingStyle>                
            ...
                
        <StyleMap id="__managed_style_0C1991940B211BD21CEE">
            <Pair>
                 <key>normal</key>
                 <styleUrl>#__managed_style_147D324643211BD21CEE</styleUrl>
            </Pair>
            <Pair>
                 <key>highlight</key>
                 <styleUrl>#__managed_style_2EB2C27FFE211BD21CEE</styleUrl>
            </Pair>
        </StyleMap>
                
        <Placemark id="09A507D5E3211BD1D53F">
            <name>Test Polygon</name>
            <styleUrl>#__managed_style_0C1991940B211BD21CEE</styleUrl>
            <Polygon>
                <outerBoundaryIs>
                    <LinearRing>
                        <coordinates>
                                                                                                0.0287244781654028,51.5286273373769,4.888032506075639 0.03124375777183053,51.52899071640604,5.649232085770059 0.03060716674301966,51.5305703663013,6.296306355936279 0.02835525808849049,51.53027540191405,5.649128389213159 0.0287244781654028,51.5286273373769,4.888032506075639 
                        </coordinates>
                    </LinearRing>
                </outerBoundaryIs>
            </Polygon>
        </Placemark>
</Document>
</kml>

<gx:CascadingStyle> 没有出现在 KML 参考中。 https://developers.google.com/kml/documentation/kmlreference

这是怎么回事?

我期待原始彩色多边形出现在 Google 地球专业版中。

<gx:CascadingStyle> 是在 Google Earth Web 中创建的未记录元素,Google 地球专业版不支持该元素。

如果您对 KML 稍作修改,它将按预期工作。

进行这些更改:

  1. 删除 <Style></Style> 个元素。
  2. 全局将 <gx:CascadingStyle kml:id="xxx"> 更改为 <Style id="xxx">
    <gx:CascadingStyle kml:id= 替换为 <Style id=
  3. </gx:CascadingStyle>替换为</Style>

示例:

旧:

    <gx:CascadingStyle kml:id="__managed_style_147D324643211BD21CEE">
        <Style>
            ...
        </Style>
    </gx:CascadingStyle>

新:

    <Style id="__managed_style_147D324643211BD21CEE">
        ...
    </Style>

您可以使用文本编辑器对 KML 进行全局更改;例如记事本++.

KML 现在符合 OGC KML 2.2 标准,并且可以在 Google 地球专业版中使用。