我正在使用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)
但是,绘制的每个点都有相同的图标比例和balloonstyle.text(对应于最后添加的点)
有没有办法在使用共享样式时修改某些样式数据?
答案 0 :(得分:0)
仅在非常有限的意义上。样式不是分层的,它们互相替换。但...
balloonstyle 文本可以使用引用其引用的元素的变量($[name], $[description], $[address], $[id], $[Snippet]
)。所以你可以把你的个人信息放到例如描述并在气球中使用它。
希望它有所帮助!