kml - 如何使 KML 不导入多几何顺序

标签 kml google-earth

你好,我正在编写一些 KML,然后我按顺序创建了多重几何体

地标A 地标 B

我不能选择 PlMark A 因为 B 更大,但是当我有

地标 B 地标A

是的,因为我认为 A 较小并且它是最后一个被绘制的,我的问题是我不能按顺序使用地标,Kml 中有任何选项可以选择所有元素。

谢谢。

<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://earth.google.com/kml/2.0">
<Document>
<StyleMap id="StyF1"><Pair><key>normal</key><Style><IconStyle><Icon></Icon></IconStyle><PolyStyle><color>7d0000ff</color></PolyStyle></Style></Pair><Pair><key>highlight</key><Style><IconStyle><Icon></Icon></IconStyle><PolyStyle><color>7aFFFF8C</color></PolyStyle></Style></Pair></StyleMap>
<StyleMap id="StyU1"><Pair><key>normal</key><Style><IconStyle><Icon></Icon></IconStyle><PolyStyle><color>7d0000ff</color></PolyStyle></Style></Pair><Pair><key>highlight</key><Style><IconStyle><Icon></Icon></IconStyle><PolyStyle><color>7aFFFF8C</color></PolyStyle></Style></Pair></StyleMap>

<Placemark>
    <name>A</name>
    <description>
    </description>
    <visibility>1</visibility>
    <tessellate>1</tessellate>
    <styleUrl>#StyU1</styleUrl>
    <MultiGeometry>
        <Point>
            <coordinates>-0.18806,39.78366</coordinates>
        </Point>
        <Polygon>
        <outerBoundaryIs>
            <LinearRing>
                <coordinates>-0.18806,39.78261
                -0.18701,39.7844286533479
                -0.18911,39.7844286533479
                -0.18806,39.78261</coordinates>
            </LinearRing>
        </outerBoundaryIs>
        </Polygon>
    </MultiGeometry>
</Placemark>

<Placemark>
    <name>B</name>
    <description>
    </description>
    <visibility>1</visibility>
    <tessellate>1</tessellate>
    <styleUrl>#StyF1</styleUrl>
    <MultiGeometry>
        <Point>
            <coordinates>-0.18806,39.78501</coordinates>
        </Point>
        <Polygon>
        <outerBoundaryIs>
        <LinearRing>
            <coordinates>-0.18806,39.78261
            -0.18566,39.7867669219382
            -0.19046,39.7867669219382
            -0.18806,39.78261</coordinates>
            </LinearRing>
        </outerBoundaryIs>
        </Polygon>
    </MultiGeometry>
</Placemark>

</Document></kml>

最佳答案

如果您想在另一条线或多边形上排序,您可以使用 元素。

具有较高 值的要素绘制在具有较低值的要素之上,例如,如果您对 A 使用 2 的 drawOrder,对 B 使用 1,则 A 将绘制在 B 之上。换句话说, drawOrder 值较低的要素首先绘制。

不要忘记将 xmlns:gx="http://www.google.com/kml/ext/2.2" 声明添加到 kml 标记中,并注意文档中的说明仅适用于 LineStrings,但也适用于 Polygons 和 LinearRings。


    <?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">
     ...
      <Placemark>
        <name>A</name>
        <MultiGeometry>   
            <Point>
                <coordinates>-0.18806,39.78366</coordinates>
            </Point>
            <Polygon>
                <gx:drawOrder>2</gx:drawOrder>
                ...
            </Polygon>
         </MultiGeometry>
      </Placemark>

      <Placemark>
        <name>B</name>
        <MultiGeometry>
            <Point>
                <coordinates>-0.18806,39.78501</coordinates>
            </Point>
            <Polygon>
                <gx:drawOrder>1</gx:drawOrder>
                ...
            </Polygon>
         </MultiGeometry>
      </Placemark>

引用:https://developers.google.com/kml/documentation/kmlreference#gxdraworder

关于kml - 如何使 KML 不导入多几何顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12634733/

相关文章:

android - 如何使用 kml 文件在 map 上绘制路径?

kml - 如何让谷歌地球在一个大的kml文件中显示所有地标

kml - 使用 pyephem 检索的卫星轨迹的可视化已关闭

3d - KML 接受哪些可能的 3D 模型格式?

desktop-application - Google Earth API与Google Earth COM API

javascript - 有没有办法在 JavaScript 中区分鼠标?

security - 保护 KML 文件不被下载或访问

java - 如何维护与 Google 地球客户端的 session 状态?

javascript - 来自 kml 的地点标记的聚类点,但不是 LineString

android - Android 版 Google 地球