KML & Google Maps: проблема с загрузкой значения из <ExtendedData>во всплывающее окно - PullRequest
0 голосов
/ 19 февраля 2020

Я создаю карту Google Dynami c (Maps JavaScript API) с точками, загруженными из файла KML. Мне нужно показать только атрибут "NTS_Text" из ExtendedData.

Я борюсь с всплывающим окном и показывает одно SimpleData значение из ExtendedData .

Это часть моего файла 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>

Это результат Информационное окно

Любая идея, как отформатировать файл kml, чтобы иметь возможность показывать данные на карте? Спасибо.

1 Ответ

0 голосов
/ 20 февраля 2020

Эти замены (в настоящее время) не поддерживаются KmlLayer . Из документации :

<ExtendedData> частично нетипизировано * только 1009 *, нет <SimpleData> или <Schema>, и замены сущностей в форме $ [dataName] не поддерживаются.

Вы можете расширить сторонний анализатор KML для поддержки этого ( geoxml3 Ветвь kmz поддерживает некоторые замены (Данные, но не SimpleData; пример )

screenshot of map using geoxml3 and Data tags

...