我通过设置两个now属性扩展了我的传单对象: - 价值 - 姓名
var customMarker = L.Marker.extend({
options: {
name: '',
value: ''
}
});
然后我称之为这个方法:
L.geoJson(centroids,{
pointToLayer: function(feature,geometry){
var marker = new customMarker(geometry);
marker.value = donnees[feature.properties.Index];
marker.name = feature.properties.Index;
console.log("name : "+marker.name+" volume : "+marker.volume)
return marker;
}
});
但我注意到并非所有的marker.value都存储在我的标记中。有些人身份不明。
答案 0 :(得分:1)
您正在做的是在扩展的L.Marker中创建新选项。您可以在标记的实例化过程中设置选项。简单的例子:
// Instanciating regular L.Marker with custom option:
var marker = new L.Marker([0,0], {
customValue: true
});
console.log(marker.options.customValue); //true
事情是,如果您只需要一些自定义选项,则无需扩展L.Marker,但您可以使用自定义选项简单地实现L.Marker:
{{1}}
当您需要自定义选项的默认值时,您只需要扩展L.Marker。
答案 1 :(得分:1)
看起来只是JS问题。在您的donnes
数组中,您不会拥有您尝试访问的所有索引
marker.value = donnees[feature.properties.Index];
这就是marker.value
中未定义的原因
检查donnees[feature.properties.Index]
是否未定义,只返回正确的标记