Javascript 传单.js-使用哪种方法从GeoJson添加标记

Javascript 传单.js-使用哪种方法从GeoJson添加标记,javascript,leaflet,geojson,Javascript,Leaflet,Geojson,我参考了传单.js提供的信息。但我并不清楚。我不知道该用哪一个 目前,我正在使用pointToLayer绘制标记: L.geoJson(mapGeoJsonData, { pointToLayer: function (feature, latlng) { .... } }) 但使用onEachFeature也有另一种方法来做同样的事情: L.geoJson(mapGeoJsonData, { onEachFeature: function (feature, layer) { ....

我参考了传单.js提供的信息。但我并不清楚。我不知道该用哪一个

目前,我正在使用pointToLayer绘制标记:

L.geoJson(mapGeoJsonData, {  pointToLayer: function (feature, latlng) { .... } })
但使用onEachFeature也有另一种方法来做同样的事情:

L.geoJson(mapGeoJsonData, {  onEachFeature: function (feature, layer) { .... } })
那么什么时候用哪一个呢?pointToLayer和onEachFeature的优缺点是什么。

Ref:

pointToLayer仅针对点和多点调用,并希望您返回标记(您使用此回调创建自定义标记)

onEachFeature是为所有GeoJSON功能类型(包括点和多点)调用的,不希望您返回任何内容(您使用此回调将弹出窗口绑定到点、线…)


请注意,您不能使用onEachFeature绘制标记,但可以使用pointToLayer将弹出窗口绑定到标记

,实际上我正在从该功能填充一些数据。此数据添加到标记弹出窗口内的html文本框中(作为弹出内容)。在绘制完所有标记后,当我单击任何标记时,它会显示空文本框。所以我用onPopupOpen事件中标记对象中的数据填充它们。数据未保留或标记内容的状态未维护。这就是我认为pointToLayer方法可能导致这种情况的原因。是这样吗?有没有更好的方法用标记弹出窗口中的数据来做标记。对不起,我不知道你的问题在哪里。它对我很管用(看)