我提到了Leaflet.js提供的official example。但事情并不清楚。而且我对使用哪一个感到困惑。
目前,我正在使用 pointToLayer 来绘制标记:
L.geoJson(mapGeoJsonData, { pointToLayer: function (feature, latlng) { .... } })
但是还有另一种方法可以使用 onEachFeature 来做同样的事情:
L.geoJson(mapGeoJsonData, { onEachFeature: function (feature, layer) { .... } })
那么哪一个使用? pointToLayer 和 onEachFeature 的优缺点是什么。
答案 0 :(得分:2)
参考:https://github.com/Leaflet/Leaflet/blob/master/src/layer/GeoJSON.js
pointToLayer仅针对Point和MultiPoint调用,并且希望您返回标记(使用此回调创建自定义标记)
为所有GeoJSON要素类型(包括Point和MultiPoint)调用onEachFeature,并且不希望您返回任何内容(使用此回调将弹出窗口绑定到Points,Lines ...)
请注意,您无法使用onEachFeature绘制标记,但可以使用pointToLayer将弹出窗口绑定到标记