Kml 屏幕覆盖方向

Kml 屏幕覆盖方向,kml,google-earth,Kml,Google Earth,我想生成一个动态图例,这样图例中的单个图标可以自由更改,而不会影响图例的其余部分,但我在间距方面遇到了一些问题。现在,我正在为图例中的每个元素使用单独的屏幕覆盖,并使用百分比在screenXY上以偏移间隔它们。这在单屏幕分辨率下运行良好,但当您拉伸或压缩谷歌地球窗口时,图例看起来很奇怪。我想使用像素使图例静态隔开图标,但我无法知道窗口的高度,因此无法猜测图例的起始高度。有没有一种方法可以嵌套ScreenOverlays,这样我就可以将ScreenOverlay设置为一个百分比,但在ScreenO

我想生成一个动态图例,这样图例中的单个图标可以自由更改,而不会影响图例的其余部分,但我在间距方面遇到了一些问题。现在,我正在为图例中的每个元素使用单独的屏幕覆盖,并使用百分比在screenXY上以偏移间隔它们。这在单屏幕分辨率下运行良好,但当您拉伸或压缩谷歌地球窗口时,图例看起来很奇怪。我想使用像素使图例静态隔开图标,但我无法知道窗口的高度,因此无法猜测图例的起始高度。有没有一种方法可以嵌套ScreenOverlays,这样我就可以将ScreenOverlay设置为一个百分比,但在ScreenOverlay内部静态地放置单个图标?是否有其他方法不涉及为图例创建单个图像

我尝试过简单地嵌套屏幕覆盖层,但没有运气。我也无法在一个屏幕覆盖中找到关于多个图标的文档

<ScreenOverlay>
  <name>icon1</name>
  <Icon>
    <href>https://url/here.png</href>
  </Icon>
  <overlayXY x="0" y="0" xunits="fraction" yunits="fraction" />
  <screenXY x=".05" y=".75" xunits="fraction" yunits="fraction" />
  <rotationXY x="0" y="0" xunits="fraction" yunits="fraction" />
  <size x="0" y="0" xunits="fraction" yunits="fraction" />
</ScreenOverlay>
<ScreenOverlay>
  <name>icon2</name>
  <Icon>
    <href>https://url/here.png</href>
  </Icon>
  <overlayXY x="0" y="0" xunits="fraction" yunits="fraction" />
  <screenXY x=".05" y=".72" xunits="fraction" yunits="fraction" />
  <rotationXY x="0" y="0" xunits="fraction" yunits="fraction" />
  <size x="0" y="0" xunits="fraction" yunits="fraction" />
</ScreenOverlay>

icon1
https://url/here.png
icon2
https://url/here.png

使用分数是可行的,但当用户拉伸或收缩窗口时,它不能很好地缩放。它要么挤在一起,要么扩散到很远的地方。如果我能从kml中分辨出屏幕有多高,像素会更好。

如果你想控制多个屏幕重叠的布局和间距,并且不让它们随屏幕大小而改变,那么你就需要使用像素单位进行定位。没有办法嵌套ScreenOverlays,但只要每个元素的大小都是可预测的,就应该能够堆叠它们。例如,您可能有3个图标,每个100像素高,要将它们堆叠在左下角,第一个图标将位于x=0,y=0,第二个图标位于x=0,y=100,第三个图标位于x=0,y=200。最好的做法是尽量减少屏幕覆盖,尽量减少地图的覆盖面积,希望它不会太高,大多数屏幕大小都能显示整个画面