这个
pointToLayer
函数选项被调用
每个标记一次
(按
"Point"
输入功能(精确)。你有一个
仅有一个的
latlng
每个函数调用的值。
因此,你会明白,试图循环到你的目标是毫无意义的
paradas.features.length
.
此外,你的循环
return
在它的第一次迭代中,这就是为什么你只看到带有“1”枚举的图标。
既然你想要
L.geoJSON
每次调用
点图层
功能,只需将计数器固定在外部范围内:
var map = L.map('map');
var i = 0;
var rotas = L.geoJSON(paradas, {
pointToLayer: function(feature, latlng) {
console.log("Qtd: " + paradas.features.length)
i += 1;
return L.marker(latlng, {
icon: new L.AwesomeNumberMarkers({
number: i,
markerColor: 'purple',
}),
});
}
}).addTo(map);
map.fitBounds(rotas.getBounds());
L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {
attribution: '© <a href="http://osm.org/copyright">OpenStreetMap</a> contributors'
}).addTo(map);
<link rel="stylesheet" href="https://unpkg.com/leaflet@1.3.1/dist/leaflet.css" integrity="sha512-Rksm5RenBEKSKFjgI3a41vrjkw4EVPlJ3+OiI65vTjIdo9brlAacEuKOiQ5OFh7cOI1bkDwLqdLw3Zg0cRJAAQ==" crossorigin="" />
<script src="https://unpkg.com/leaflet@1.3.1/dist/leaflet-src.js" integrity="sha512-IkGU/uDhB9u9F8k+2OsA6XXoowIhOuQL1NTgNZHY1nkURnqEGlDZq3GsfmdJdKFe1k1zOc6YU2K7qY+hF9AodA==" crossorigin=""></script>
<link rel="stylesheet" href="https://rawgit.com/Zahidul-Islam/Leaflet.awesome-numbered-marker/f7b5b594e9fc451cd006ee345220a86390eb1cf1/src/leaflet_awesome_number_markers.css" />
<script src="https://rawgit.com/Zahidul-Islam/Leaflet.awesome-numbered-marker/f7b5b594e9fc451cd006ee345220a86390eb1cf1/src/leaflet_awesome_number_markers.js"></script>
<script src="https://rawgit.com/eltonsantos/analise_integrada/8b771bed3bd0bbfe1da3d02ce09b37630a637a0c/path.js"></script>
<div id="map" style="height: 180px"></div>