KML到Foreflight导入-更改图标

问题描述 投票:0回答:1

我正在处理本地医院的kml文件,并将其作为用户地图层导入到Foreflight中。点的格式非常简单:

       <Placemark>
            <name>OHSU</name>
            <description>Portland OR (9OR6)</description>
            <Point>
                <altitudeMode>clampToGround</altitudeMode>
                <coordinates>-122.6854629516602,45.49906158447266,0</coordinates>
            </Point>
        </Placemark>

注意,没有样式-在Google Earth中,它会显示为默认的黄色图钉,并显示名称。但是,一旦导入到Foreflight中,它将显示为默认的蓝色三角形图钉,并且没有显示名称。

我想保留它而不显示任何名称,但是将图标的颜色更改为红色。因此,我在单个点上加载了带有红色图钉的文件,然后使用该样式链接将地标更改为红色。像这样:

       <Placemark>
            <name>OHSU</name>
            <styleUrl>#redIcon</styleUrl>
            <description>Portland OR (9OR6)</description>
            <Point>
                <altitudeMode>clampToGround</altitudeMode>
                <coordinates>-122.6854629516602,45.49906158447266,0</coordinates>
            </Point>
        </Placemark>

上面定义了redIcon:

<Style id="randomColorIcon">
      <IconStyle>
         <color>"red"</color>
         <scale>1.1</scale>
         <Icon>
            <href>http://maps.google.com/mapfiles/kml/pushpin/red-pushpin.png</href>
         </Icon>
      </IconStyle>
   </Style>

但是当我这样做时,说明也会显示在导入的点上。我还尝试过在[name]之后的行上的地标中添加一个<color>"red"</color>块,但这不会改变颜色。基于Foreflight的反应,我怀疑有关定义点的原始裸方法的某些内容正在打破Foreflight中的某些内容。 (我认为它打算始终显示名称,但没有样式就不会显示)。不幸的是,我找不到有关Foreflight API的任何资源以及它如何将kml数据实际上解析为它自己的三角形地标等。我也在航空堆栈交换方面寻找答案-似乎没有人遇到这个特殊问题。

任何想法都值得赞赏。我觉得只更改图标颜色而不显示名称就应该足够简单,以至于我只是想得太多而错过了一个简单的解决方案。

更新:现在使用单个图标的简短文件进行测试:

<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2">
<Document>
   <Style id="redIcon">
      <IconStyle>
         <color>ff0000ff</color>
         <scale>1.0</scale>
         <Icon>
            <href>http://maps.google.com/mapfiles/kml/pal3/icon21.png</href>
         </Icon>
      </IconStyle>
      <LabelStyle>
         <color>00ff0000</color>
      </LabelStyle>
   </Style>
   <Placemark>
      <name>IconStyle.kml</name>
      <styleUrl>#redIcon</styleUrl>
      <description>Show me a point</description>
      <Point>
         <altitudeMode>clampToGround</altitudeMode>
         <coordinates>-122.36868,37.831145,0</coordinates>
      </Point>
   </Placemark>
</Document>
</kml>

我已经尝试更改有关LabelStyle的几乎所有内容,并且根据foreflight的响应,似乎foreflight不知道如何与IconStyle分开解析LabelStyle。更改标签的大小,颜色和不透明性都将产生零影响-保持与图标相同的颜色。我只能得出结论,这是foreflight的API的一个特殊怪癖。

overlay kml
1个回答
0
投票

截至撰写本文时(2019年11月),我已经通过先行确认不支持LabelStyle。支持的元素是:-点-LineString-LinearRing-多边形-多几何-风格-StyleMap(仅支持“常规”样式)-LineStyle-PolyStyle-IconStyle

希望这可以帮助其他可能遇到此问题的人。

© www.soinside.com 2019 - 2024. All rights reserved.