问题描述
我有一个 django rest api,它提供以下获取响应:
使用 django 视图,我可以按如下方式渲染 geojson:
var kcount = L.geoJson();
$.getJSON("{% url 'counties' %}",function (data) {
myLayer = new L.geoJson(data,{
onEachFeature: function (feature,layer) {
layer.bindPopup('<font size="4">' + feature.properties.county_nam)
},style: countStyle
}).addTo(kcount).addTo(map);
});
我的挑战是使用 react-leaflet 显示相同的内容。我如何实现 onEachFeature 循环...以及如何只查询特定的县?
<Map className="map" style={{height:'100%',width:'100%'}}>
<GeoJSON data={geo}/>
</Map>
解决方法
在 GeoJSON 对象上添加 onEeachFeature 方法,并生成弹出窗口:
..
onEach(feature,layer){
let PopupContent = `
<Popup>
<p>county name:${feature.properties.county_nam}</p>
</Popup>
`
layer.bindPopup(PopupContent)
}
..
<Map>
<GeoJSON data={geo} onEachFeature={this.onEach}/>
</Map>