1

我正在使用 simplekml 绘制一些数据。

因为我可以有很多点,所以我正在使用 sharedstyle,但问题是我不能在每个点之间设置任何样式参数(如图标比例或 balloosstyle 文本)。

所以,我有我的共享风格

kml = simplekml.Kml()
    fol = kml.newfolder(name="Eventos")
    sharedstyle = simplekml.Style()
    sharedstyle.labelstyle.color = 'ffffffff'
    sharedstyle.iconstyle.icon.href = 'http://maps.google.com/mapfiles/kml/shapes/target.png'
    sharedstyle.iconstyle.color = 'ff0000ff'
    sharedstyle.balloonstyle.bgcolor = simplekml.Color.lightgreen
    sharedstyle.balloonstyle.textcolor = simplekml.Color.rgb(0, 0, 255)

我在循环中读取数据,并调用创建此方法所需的每一点

def add_to_kml(folder, event, style):

    coord = (event.lon, event.lat)
    label = event.date.isoformat()
    pnt = folder.newpoint(name="{0}".format(label), coords=[coord])
    pnt.style = style
    pnt.style.iconstyle.scale = event.scale
    pnt.style.balloonstyle.text = "{0}, \n {1}".format(event.label, event.geo_ref)

但是,绘制的每个点都具有相同的 iconscale 和 balloonstyle.text (对应于最后添加的点)

有没有办法在使用共享样式时修改一些样式数据?

4

1 回答 1

0

只是在非常有限的意义上。样式不是分层的,它们相互替换。但...

气球样式文本可以使用引用它所引用元素的变量 ( $[name], $[description], $[address], $[id], $[Snippet])。因此,您可以将您的个人信息放入例如描述中并在气球中使用它。

希望能帮助到你!

于 2014-10-28T01:06:58.563 回答