4

我已经将一些地址连同几列数据上传到了 batchgeo。我已经下载了 kml 文件,其中包含坐标。数据结构如下:

<?xml version="1.0" ?>
<kml xmlns="http://earth.google.com/kml/2.0">
    <Document>
        <Placemark>
            <name>...</name>
            <description>....</description>
            <Point>
                <coordinates>-3.1034345755337,57.144817425039,0</coordinates>
            </Point><address>...</address>
            <styleUrl>#0</styleUrl>
        </Placemark>
    </Document>
</kml>

当您单击 Google 地图/地球中的某个点(网址、地址等)时,“描述”标签是一团乱麻,其中包含扩展数据。我现在想在当前扩展数据下添加一些细节。我目前的策略是使用pykml,但我找不到 pykml 对象的扩展数据属性,而且我没有在文档中看到它。当我点击 Google 地球中的地标时,我希望它出现:

<Description>
item 1
item 2
item 3
</Description>
New data

你能建议如何实现这一目标吗?谢谢。(顺便说一句,pylibkml有这个功能但是已经停产了,我找不到下载链接!)

4

2 回答 2

4

好的,我将在这里玩一些死灵术,并留下一些帮助我解决类似问题的东西。这对我有用

pm = KML.Placemark(
                KML.name("My extended data point somewhere in sahara!"),
                KML.Point(KML.coordinates("10, 15")),
                KML.ExtendedData( 
                    KML.Data(KML.value('someValueGadzilion'),name='Your value name here')
                ) 
     )
于 2015-12-17T11:30:01.693 回答
3

I've achieved what you say by using KML.description() method.

Code:

        placemark = KML.Placemark(
            KML.name('poi'),
            KML.description('blabla'),
            KML.LookAt(
                KML.longitude(lat),
                KML.latitude(lon),
                KML.altitude(alt),
                KML.heading('0'),
                KML.tilt(0),
                KML.range('0'),
            ),
            KML.Point(
                KML.coordinates(string)
            )
        )
于 2012-12-27T19:50:18.150 回答