У меня есть эта ошибка
"leaflet.js: 5, Uncaught TypeError: Невозможно прочитать свойство 'lat' of undefined".
Точки хорошо отображаются сстиль и все, но как только я хочу нажать на точку, ничего не отображается, и я получаю эту ошибку в инструменте разработчика.
Есть идеи, чего не хватает?
Спасибо
var points = new L.featureGroup();
function round(value, decimals) {
return Number(Math.round(value + 'e' + decimals) + 'e-' + decimals);
}
var vectorTileOptions_poi = {
rendererFactory: L.canvas.tile,
maxZoom: 20,
zIndex: 100,
vectorTileLayerStyles: {
sliced: function (properties, zoom){
var dist = properties.length
return {
radius: dist <= 150 ? 1.5:
dist >150 && dist <= 500 ? 2:
dist >500 && dist <= 1000 ? 3:
dist >1000 ? 4: 0,
fillColor: dist <= 150 ? '#ffffff':
dist >150 && dist <= 500 ? '#00cc00':
dist >500 && dist <= 1000 ? '#ffff00':
dist >1000 ? '#ff4d4d': '#66ffff',
color: dist <= 150 ? '#ffffff':
dist >150 && dist <= 500 ? '#00cc00':
dist >500 && dist <= 1000 ? '#ffff00':
dist >1000 ? '#ff4d4d': '#66ffff',
fill: true,
weight: 1,
fillOpacity: 0.8,
}
}
},
interactive: true,
};
$.getJSON("/xyz/test/points.geojson", function(json) {
var newPoints = L.vectorGrid.slicer(json, vectorTileOptions_poi)
.on('click', function(e) {
var properties = e.layer.properties;
L.popup()
.setContent(
'<b>Point Data</b>' +
'<br>Amount: <b>'+ properties.TOTAL + '</b>' +
'<br>Distance: <b>' + (round(properties.length/1000, 2)) + ' km</b>' +
'<br>Name: <b>' + properties.name + '</b>' +
'<br>Zipcode, City: <b>' + properties.zipCode + ', ' + properties.City + '</b>'
)
.setLatLng(e.latlng)
.openOn(map);
L.DomEvent.stop(e);
})
newPoints.addTo(point)
})