将 GeoJSON 文件读入 Rails/Leaflet
Reading a GeoJSON file into Rails/Leaflet
我用 Rails jBuilder 创建了 GeoJSON 文件并想将其读入 Leaflt。如果我像 L.mapbox.featureLayer().loadURL('overview/overview_data.geojson').addTo(map)
这样直接使用它就可以了,但我想使用 Leaflet.timeline
并使用 GeoJSON。
如果我像这样将 GeoJSON 放入脚本中
let data = {"type":"FeatureCollection","features":[{"type":"Feature","properties":{"start":1903,"end":1908,"name":"part of S. Toluca St. (26). and second block south gone","title":"Was Brook before 1903 and became part of S. Toluca St. (26). and second block south gone until at least 1908."},"geometry":{"type":"LineString","coordinates":[[-118.25862396508458,34.06087254304104],[-118.25933206826451,34.05994816216629]]}},{"type":"Feature","properties":{"start":1903,"end":1928,"name":"part of E. 40th Place","title":"Was 37th St before 1903 and became part of E. 40th Place until at least 1928."},..
脚本的其余部分工作正常,但我需要使用动态生成的数据(我做了上面的测试)。
let data = new L.GeoJSON("overview/overview_data.json");
似乎是一个对象,无法使用。还是可以解析?
另一种选择是,如果 jBuilder 可以在 GeoJSON 周围添加一个回调包装器,我可以使用它。
我知道这个问题已经解决了,但我不知道该怎么做。
这次成功了。发布问题让我找到了答案。
$.getJSON("overview/overview_data.json", function (data) {
<all the stuff I needed to to
} )
JavaScript的谜团之一。可以像我尝试的那样做吗?
我用 Rails jBuilder 创建了 GeoJSON 文件并想将其读入 Leaflt。如果我像 L.mapbox.featureLayer().loadURL('overview/overview_data.geojson').addTo(map)
这样直接使用它就可以了,但我想使用 Leaflet.timeline
并使用 GeoJSON。
如果我像这样将 GeoJSON 放入脚本中
let data = {"type":"FeatureCollection","features":[{"type":"Feature","properties":{"start":1903,"end":1908,"name":"part of S. Toluca St. (26). and second block south gone","title":"Was Brook before 1903 and became part of S. Toluca St. (26). and second block south gone until at least 1908."},"geometry":{"type":"LineString","coordinates":[[-118.25862396508458,34.06087254304104],[-118.25933206826451,34.05994816216629]]}},{"type":"Feature","properties":{"start":1903,"end":1928,"name":"part of E. 40th Place","title":"Was 37th St before 1903 and became part of E. 40th Place until at least 1928."},..
脚本的其余部分工作正常,但我需要使用动态生成的数据(我做了上面的测试)。
let data = new L.GeoJSON("overview/overview_data.json");
似乎是一个对象,无法使用。还是可以解析?
另一种选择是,如果 jBuilder 可以在 GeoJSON 周围添加一个回调包装器,我可以使用它。
我知道这个问题已经解决了,但我不知道该怎么做。
这次成功了。发布问题让我找到了答案。
$.getJSON("overview/overview_data.json", function (data) {
<all the stuff I needed to to
} )
JavaScript的谜团之一。可以像我尝试的那样做吗?