如何在 KML 文件中显示自定义 ExtendedData?
How can I display custom ExtendedData in KML File?
我正在阿根廷实施具有不同路线的自定义 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给我看的结果:
您遇到的问题是 KML 无效。 KML 中的标记区分大小写。 KML 使用大小写混合的标签,有时以大写字母开头,有时以小写字母开头(例如 <Data>
、<value>
等),因此您必须验证语法是否正确。在 Google Earth Pro 中显示 KML 可能有助于检查它是否正确并按您预期的方式显示。
<Value>
元素必须小写<value>
并且StyleUrl元素必须以小写字母开头;即 <styleUrl>
.
将地标更改为如下所示:
<Placemark>
<name>Ruta PROV. 63 - SAN JUAN</name>
<styleUrl>#info_rutas_arg</styleUrl>
<ExtendedData>
<Data name="id_lugar">
<value>2806</value>
</Data>
...
</Placemark>
另外,出于某种原因,Document 父容器上的描述阻止了地标显示,因此建议从 Document 中删除描述元素或将其注释掉。
我正在阿根廷实施具有不同路线的自定义 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给我看的结果:
您遇到的问题是 KML 无效。 KML 中的标记区分大小写。 KML 使用大小写混合的标签,有时以大写字母开头,有时以小写字母开头(例如 <Data>
、<value>
等),因此您必须验证语法是否正确。在 Google Earth Pro 中显示 KML 可能有助于检查它是否正确并按您预期的方式显示。
<Value>
元素必须小写<value>
并且StyleUrl元素必须以小写字母开头;即 <styleUrl>
.
将地标更改为如下所示:
<Placemark>
<name>Ruta PROV. 63 - SAN JUAN</name>
<styleUrl>#info_rutas_arg</styleUrl>
<ExtendedData>
<Data name="id_lugar">
<value>2806</value>
</Data>
...
</Placemark>
另外,出于某种原因,Document 父容器上的描述阻止了地标显示,因此建议从 Document 中删除描述元素或将其注释掉。