如何在KML文件中显示自定义ExtendedData?

时间:2018-11-13 23:34:13

标签: google-maps google-maps-api-3 maps kml

我正在阿根廷实施具有不同路线的自定义KML。

我想显示我的自定义ExtendedData,但不起作用。有人可以告诉我是什么问题吗?

这是我的代码KML

<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2">
    <Document>
        <name>
            ROUTE 1
        </name>
        <Style id="info_rutas_arg">
            <BalloonStyle>
                <text>
                    <![CDATA[
                    Ruta $[nombre_ruta]
                    Tramo $[nombre_tramo] <br>
                    # $[id_lugar]
                    ]]>
                </text>
            </BalloonStyle>
        </Style>
        <open>
            1
        </open>
        <description>
            Unleash your creativity with the help of these examples!
        </description>
        <!-- 2806 -->
        <Placemark>
            <name>
                Ruta PROV. 63 - SAN JUAN
            </name>
            <StyleUrl>
                #info_rutas_arg
            </StyleUrl>
            <ExtendedData>
                <Data name="id_lugar">
                    <Value>
                        2806
                    </Value>
                </Data>
                <Data name="nombre_ruta">
                    <Value>
                        Ruta PROV. 63
                    </Value>
                </Data>
                <Data name="nombre_tramo">
                    <Value>
                        SAN JUAN
                    </Value>
                </Data>
            </ExtendedData>
            <MultiGeometry>
                <LineString>
                    <coordinates>
                        -68.2838,-31.4429 -68.2824,-31.4431 -68.2783,-31.4436 -68.2701,-31.4447 -68.2668,-31.4452 -68.2649,-31.4454 -68.2638,-31.4456 -68.2618,-31.4458
                    </coordinates>
                </LineString>
                <LineString>
                    <coordinates>
                        -68.331,-31.4371 -68.329,-31.4373 -68.3245,-31.4379 -68.3213,-31.4383 -68.3182,-31.4387
                    </coordinates>
                </LineString>
                <LineString>
                    <coordinates>
                        -68.4034,-31.4284 -68.4004,-31.4288 -68.3976,-31.4291 -68.3918,-31.4298 -68.3889,-31.4301 -68.386,-31.4305 -68.383,-31.4308 -68.3815,-31.431 -68.38,-31.4312
                    </coordinates>
                </LineString>
                <LineString>
                    <coordinates>
                        -68.4245,-31.4259 -68.4188,-31.4265 -68.4132,-31.4272 -68.4107,-31.4275 -68.4086,-31.4277 -68.4064,-31.428 -68.4034,-31.4284
                    </coordinates>
                </LineString>
                <LineString>
                    <coordinates>
                        -68.3182,-31.4387 -68.3121,-31.4394 -68.3091,-31.4398 -68.3056,-31.4402
                    </coordinates>
                </LineString>
                <LineString>
                    <coordinates>
                        -68.38,-31.4312 -68.3777,-31.4314 -68.3754,-31.4317 -68.3728,-31.432 -68.3675,-31.4327 -68.3618,-31.4334 -68.3589,-31.4338 -68.3563,-31.4341
                    </coordinates>
                </LineString>
                <LineString>
                    <coordinates>
                        -68.453,-31.4419 -68.4525,-31.4395 -68.4522,-31.4382 -68.4519,-31.437 -68.4517,-31.4364 -68.4515,-31.4356 -68.451,-31.434 -68.4508,-31.4328 -68.4505,-31.4316 -68.4503,-31.4309 -68.4501,-31.4305 -68.4497,-31.4295 -68.4495,-31.4289 -68.4495,-31.4283 -68.4494,-31.4279 -68.4494,-31.4275 -68.4494,-31.4272 -68.4494,-31.4259 -68.4494,-31.4251 -68.4493,-31.4249 -68.4493,-31.4247 -68.4492,-31.4246 -68.4491,-31.4246 -68.4487,-31.4243 -68.4484,-31.4241 -68.4479,-31.4238 -68.4477,-31.4236 -68.4476,-31.4236 -68.4474,-31.4235 -68.4471,-31.4235 -68.4467,-31.4235 -68.4455,-31.4236 -68.4443,-31.4237 -68.4432,-31.4238 -68.4409,-31.424 -68.4387,-31.4242 -68.4364,-31.4245 -68.432,-31.425 -68.4275,-31.4255 -68.4245,-31.4259
                    </coordinates>
                </LineString>
                <LineString>
                    <coordinates>
                        -68.4567,-31.4553 -68.453,-31.4419
                    </coordinates>
                </LineString>
                <LineString>
                    <coordinates>
                        -68.3056,-31.4402 -68.3,-31.4409 -68.2972,-31.4412 -68.2944,-31.4416 -68.2838,-31.4429
                    </coordinates>
                </LineString>
                <LineString>
                    <coordinates>
                        -68.3563,-31.4341 -68.35,-31.4349 -68.3437,-31.4356 -68.3374,-31.4364 -68.3361,-31.4365 -68.3349,-31.4367 -68.333,-31.4369 -68.3318,-31.437 -68.331,-31.4371
                    </coordinates>
                </LineString>
            </MultiGeometry>
        </Placemark>
    </Document>
</kml>

那是我的KML代码,那是我在MyMaps中尝试的结果

这是Google向我显示的结果:

1 个答案:

答案 0 :(得分:0)

您看到的问题是KML无效。 KML中的标签区分大小写。 KML使用大小写混合的标记,有时以大写字母开头,而其他时候则以小写字母开头(例如const text = '2018-11-15T11:13:26.687Z' const [y, m, d, hh, mm, ss, ms] = text.split(/[-T:.Z]/); const date = new Date(Date.UTC(y, m - 1, d, hh, mm, ss, ms)); console.log(date.toLocaleString()); // date string in local timezone console.log(date.toUTCString()); // UTC date string console.log(JSON.stringify(date)); // ISO 8601 date string in most browsers<Data>等),因此您必须验证正确的语法。在Google Earth Pro中显示KML可能有助于检查KML是否正确,并按您期望的方式显示。

<value>元素必须为小写的<Value>,StyleUrl元素必须以小写字母开头;即<value>

更改地标,使其看起来像这样:

<styleUrl>

出于某种原因,Document父容器上的说明也阻止了地标的显示,因此建议从Document中删除description元素或仅对其进行注释。

相关问题