使用Folium在地图上新建一个图层并打印一行/多行

16

我已经尝试了Python folium库并取得了令人印象深刻的结果,但是有一项功能我正在寻找或者说我找不到:我想在地图上的一个新层中打印多行文本。

如果我查看文档,我只能找到如何添加标记和多边形标记的信息。但是关于在新层中打印文本,我只能找到类似 这个 的例子。

我需要比那更简单的东西。我猜我可以以类似的方式插入具有多行文本信息的GeoJSON,但我甚至无法找到该GeoJSON应该具有哪种格式。

有没有什么想法可以获得我的多行文本呢?

附注:如果您不知道如何使用Python / Folium实现此目的,则很高兴听到应该添加什么来获取使用Leaflet(这是Folium库正在使用的)的多线.

3个回答

14

先前示例中的某些函数现在已经被弃用;显然,首选方法现在是类似于:

import folium

# Coordinates are 10 points on the great circle from Boston to
# San Francisco.
# Reference: http://williams.best.vwh.net/avform.htm#Intermediate
coordinates = [
    [42.3581, -71.0636],
    [42.82995815, -74.78991444],
    [43.17929819, -78.56603306],
    [43.40320216, -82.37774519],
    [43.49975489, -86.20965845],
    [41.4338549, -108.74485069],
    [40.67471747, -112.29609954],
    [39.8093434, -115.76190821],
    [38.84352776, -119.13665678],
    [37.7833, -122.4167]]

# Create the map and add the line
m = folium.Map(location=[41.9, -97.3], zoom_start=4)
my_PolyLine=folium.PolyLine(locations=coordinates,weight=5)
m.add_child(my_PolyLine)
# m.save('line_example_newer.html')

截至2016年6月,PolyLine方法似乎已被弃用,Roman Rdgz使用的.line()方法可行。请使用他的示例。 - emunsing
4
恰恰相反吧?运行示例后,我得到了“line已过时”的提示。 - Overdrivr

8

我终于在2014年1月找到了一种方法,在 Folium 中实现,但没有记录下来。这就是 line 方法。

这里有一个示例,由此插件的作者提供。


如果您能提交一个拉取请求并填写文档,那就太好了!我也曾经迷失过! - cd98
3
在Folium 0.11中,line似乎不是一种方法。 - Ben

3

对于我来说,以上两种方法都无法将行作为新图层添加到folium.Map对象中(使用folium 0.11)。 对我有用的是使用folium.FeatureGroup

coords = [[[42.3554025, -71.0728116], [42.3554142, -71.0728438]],
 [[42.3554142, -71.0728438], [42.3554296, -71.0728738]]]
test_map = folium.Map([42.3554025, -71.0728116], tiles='Cartodb Positron', zoom_start=15)
fg = folium.FeatureGroup("Lines")
folium.PolyLine(coords).add_to(fg)
f.add_to(test_map)
folium.LayerControl(position='bottomright').add_to(test_map)
test_map

这将打印一个地图,其中包含一个“线条”图层,可以切换显示上述坐标处绘制的线条。

2
我给你点赞了:D谢谢!你有什么想法可以把连接的点变成不同的颜色吗?(例如:保持连接点的线条为蓝色,但将点本身变为红色) - M.Ionut
1
我认为这可能是Folium/Leaflet的参数。请查看Folium文档,其中有一组继承自Leaflet的kwargs。虽然我没有尝试过,但似乎您可以通过更改这些参数来调整颜色。 - Ben

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接