Javascript OpenLayers 5.3,从KML layer placemark获取属性

Javascript OpenLayers 5.3,从KML layer placemark获取属性,javascript,openlayers,kml,openlayers-5,Javascript,Openlayers,Kml,Openlayers 5,我有一张在不同KML层上有地震信息的地图 如果您将鼠标悬停在工具提示上,它会显示特定位置的信息 例如 我将鼠标移到PUNTA CANA上,应该会有一个带有以下内容的工具提示: 姓名:蓬塔卡纳 震级:2.2 纬度:xxx 经度:yyy 时间:年月日,小时:二 注:在我的KML中,你可以看到,我有所有这些信息: 但是,如果我尝试获取属性,我会设法只读取name属性: e、 g 我使用values.name正确读取了属性名称。 但是,如果我尝试以相同的方式读取其他属性。 例如。: -价值观 -价值观

我有一张在不同KML层上有地震信息的地图

如果您将鼠标悬停在工具提示上,它会显示特定位置的信息

例如

我将鼠标移到PUNTA CANA上,应该会有一个带有以下内容的工具提示:

姓名:蓬塔卡纳 震级:2.2 纬度:xxx 经度:yyy 时间:年月日,小时:二 注:在我的KML中,你可以看到,我有所有这些信息:

但是,如果我尝试获取属性,我会设法只读取name属性:

e、 g

我使用values.name正确读取了属性名称。 但是,如果我尝试以相同的方式读取其他属性。 例如。: -价值观 -价值观 等 它不起作用

如何从KML收集其他属性? 我错过什么了吗


谢谢大家!

我不确定这是否相关,因为我不太了解openlayers,但您的KML结构不是有效的KML。您正在KML中直接为数据变量使用自定义标记,这是不受支持的。如果您想在KML功能中包含这样的属性数据,通常最好使用定义了或没有定义模式的节。您的KML最终会看起来像:

<kml>
  <Folder>
    <Placemark id="placemark54021">
      <name>Punta Cana</name>
      <styleUrl>#simbolo_last_0_1</styleUrl>
      <ExtendedData>
        <Data name="lat"><value>38.89</value></Data>
        <Data name="longitudo"><value>15.78</value></Data>
        <Data name="magnitudo"><value>2.1</value></Data>
        <Data name="profondita"><value>109</value></Data>
        <Data name="data_intera"><value>18/01/2019</value></Data>
        <Data name="orario"><value>09:10</value></Data>
      </ExtendedData>
      <Point>
        <coordinates>15.78,38.89</coordinates>
      </Point>
    </Placemark>
  </Folder>
</kml>

不确定这是否相关,因为我不太了解openlayers,但您的KML结构不是有效的KML。您正在KML中直接为数据变量使用自定义标记,这是不受支持的。如果您想在KML功能中包含这样的属性数据,通常最好使用定义了或没有定义模式的节。您的KML最终会看起来像:

<kml>
  <Folder>
    <Placemark id="placemark54021">
      <name>Punta Cana</name>
      <styleUrl>#simbolo_last_0_1</styleUrl>
      <ExtendedData>
        <Data name="lat"><value>38.89</value></Data>
        <Data name="longitudo"><value>15.78</value></Data>
        <Data name="magnitudo"><value>2.1</value></Data>
        <Data name="profondita"><value>109</value></Data>
        <Data name="data_intera"><value>18/01/2019</value></Data>
        <Data name="orario"><value>09:10</value></Data>
      </ExtendedData>
      <Point>
        <coordinates>15.78,38.89</coordinates>
      </Point>
    </Placemark>
  </Folder>
</kml>

谢谢你,克里斯蒂安。更确切地说,如果有人读了这篇文章,我用了这个sintax:38.89啊,你说得对,我忘了标签。我的错。。。我会修改我的答案。谢谢你,克里斯蒂安。更确切地说,如果有人读了这篇文章,我用了这个sintax:38.89啊,你说得对,我忘了标签。我的错。。。我将编辑我的答案。
<kml>
  <Folder>
    <Placemark id="placemark54021">
      <name>Punta Cana</name>
      <styleUrl>#simbolo_last_0_1</styleUrl>
      <ExtendedData>
        <Data name="lat"><value>38.89</value></Data>
        <Data name="longitudo"><value>15.78</value></Data>
        <Data name="magnitudo"><value>2.1</value></Data>
        <Data name="profondita"><value>109</value></Data>
        <Data name="data_intera"><value>18/01/2019</value></Data>
        <Data name="orario"><value>09:10</value></Data>
      </ExtendedData>
      <Point>
        <coordinates>15.78,38.89</coordinates>
      </Point>
    </Placemark>
  </Folder>
</kml>