Javascript OpenLayers 5.3,从KML layer placemark获取属性
我有一张在不同KML层上有地震信息的地图 如果您将鼠标悬停在工具提示上,它会显示特定位置的信息 例如 我将鼠标移到PUNTA CANA上,应该会有一个带有以下内容的工具提示: 姓名:蓬塔卡纳 震级:2.2 纬度:xxx 经度:yyy 时间:年月日,小时:二 注:在我的KML中,你可以看到,我有所有这些信息: 但是,如果我尝试获取属性,我会设法只读取name属性: e、 g 我使用values.name正确读取了属性名称。 但是,如果我尝试以相同的方式读取其他属性。 例如。: -价值观 -价值观 等 它不起作用 如何从KML收集其他属性? 我错过什么了吗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正确读取了属性名称。 但是,如果我尝试以相同的方式读取其他属性。 例如。: -价值观 -价值观
谢谢大家! 我不确定这是否相关,因为我不太了解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>