【问题标题】:KML & Google Maps: Problem to load value from <ExtendedData> into the pop-up windowKML 和 Google 地图:将值从 <ExtendedData> 加载到弹出窗口中的问题
【发布时间】:2020-06-03 19:50:03
【问题描述】:

我使用从 KML 文件加载的点创建了一个 Google 动态地图 (Maps JavaScript API)。我只需要显示 ExtendedData 中的“NTS_Text”属性。

我为弹出窗口和显示 ExtendedData 中的一个 SimpleData 值而苦恼。

这是我的 KML 文件的一部分:

KML 架构

<Schema name="Adresy_web_kml" id="Adresy_web_kml_ID">
    <SimpleField name="ogc_fid" type="float"></SimpleField>
    <SimpleField name="kod" type="float"></SimpleField>
    <SimpleField name="cislodomov" type="float"></SimpleField>
    <SimpleField name="cisloorien" type="float"></SimpleField>
    <SimpleField name="cisloori_1" type="string"></SimpleField>
    <SimpleField name="psc" type="float"></SimpleField>
    <SimpleField name="stavebniob" type="float"></SimpleField>
    <SimpleField name="ulicekod" type="float"></SimpleField>
    <SimpleField name="NTS_buildi" type="string"></SimpleField>
    <SimpleField name="NTS_type_i" type="float"></SimpleField>
    <SimpleField name="NTS_techno" type="float"></SimpleField>
    <SimpleField name="NTS_Text" type="string"><displayName><![CDATA[<i>popis</i>]]></displayName></SimpleField>
    <SimpleField name="ruian stavebniobjekty_typstavebnihoobjektukod" type="int"></SimpleField>
</Schema>

KMl 风格

<Style id="globema_style">
  <IconStyle>
    <scale>1</scale>
    <Icon>
        <href>https://sites.google.com/site/karolinakmlhosting/kml-files/kolecko_7px.png</href>
    </Icon>
   </IconStyle>

<BalloonStyle>       
  <text>
    <![CDATA[Informace o výstavbě: $[Adresy_web_kml_ID/NTS_Text]  ]]>
  </text>     
</BalloonStyle>

</Style>

一个地标

<Placemark><styleUrl>#globema_style</styleUrl>
<ExtendedData><SchemaData schemaUrl="#Adresy_web_kml_ID">
    <SimpleData name="ogc_fid">341</SimpleData>
    <SimpleData name="kod">72899409</SimpleData>
    <SimpleData name="cislodomov">1358</SimpleData>
    <SimpleData name="psc">33401</SimpleData>
    <SimpleData name="stavebniob">78228484</SimpleData>
    <SimpleData name="ulicekod">1038231</SimpleData>
    <SimpleData name="NTS_buildi">1358</SimpleData>
    <SimpleData name="NTS_type_i">10</SimpleData>
    <SimpleData name="NTS_techno">13</SimpleData>
    <SimpleData name="NTS_Text">Výstavba 2020 - 2022. Kontaktujte nás pro další informace.</SimpleData>
    <SimpleData name="ruian stavebniobjekty_typstavebnihoobjektukod">1</SimpleData>
</SchemaData></ExtendedData>
  <Point><coordinates>13.3353507611569,49.5811128320989</coordinates></Point>

这是结果 Info window

知道如何格式化 kml 文件以在地图中显示数据吗? 谢谢。

【问题讨论】:

标签: javascript xml google-maps kml


【解决方案1】:

KmlLayer(当前)不支持这些替换。 来自the documentation

&lt;ExtendedData&gt; 仅部分无类型 &lt;Data&gt;,没有 &lt;SimpleData&gt;&lt;Schema&gt;,并且 $[dataName] 形式的实体替换是不支持。

您可以扩展第三方 KML 解析器来支持它(geoxml3 kmz 分支支持一些替换(数据,但不是 SimpleData;example

【讨论】:

  • 感谢您的帮助。我找到了一个解决方案,我只是将文本放入 标记中。
猜你喜欢
  • 1970-01-01
  • 2023-02-07
  • 1970-01-01
  • 1970-01-01
  • 2017-12-01
  • 2012-05-30
  • 2011-02-05
  • 1970-01-01
  • 2018-09-02
相关资源
最近更新 更多