Leaflet choropleth map - 链接到电子表格的多边形颜色?

时间:2014-02-02 06:00:31

标签: leaflet geojson

在使用Mapbox的TileMill制作了一些交互式等值区域图之后,我开始使用Leaflet了。如果我通过使用geoJSON添加自定义多边形图层,是否有任何方法可以根据链接电子表格中的值对多边形进行符号化(即颜色)?我正在尝试做的是找到一种方法来创建一个在线交互式的等值区,只需更改电子表格(即Google doc),而不是添加新的geoJSON图层,就可以使用当前数据自动更新。谢谢你的帮助!

2 个答案:

答案 0 :(得分:1)

您可以将Google电子表格数据作为JSON请求,然后在客户端解析数据,更新geoJSON中的数据。这是Google的一些more documentation。基本上,您调用电子表格,将电子表格数据作为JSON传递给回调函数,然后让该函数使用新值更新您的geoJSON。基本API看起来像这样,其中Feed是您想要的Feed类型(列表或单元格),key是您的Google电子表格的密钥。

http://spreadsheets.google.com/feeds/feed/key/worksheet/public/basic?alt=json-in-script&callback=myFunc

答案 1 :(得分:0)

好像你可能有两个不同的Q,因为我无法发表评论要求澄清,以下是两者的答案:

  1. 如果您指的是在Tilemill中更新颜色,那么(您的问题的标题不应该引用Leaflet,并且)使用Google电子表格作为Tilemill数据源的工作流程here非常好。不幸的是,填充颜色不是数据驱动的属性,因此您仍需要在CartoCSS中有条件地指定颜色。
  2. 如果您指的是更新Leaflet客户端中的专题图层,则有两个选项:
    • 编写一个脚本,用来自Google电子表格端点的值填充此functionthis line
    • 使用CartoDB。当您更新表格和CartoCSS样式时,它几乎完成了您所指的所有内容,并在传单地图上进行了实时更改。您还可以将CartoDB表与Google电子表格同步。