Я пытался работать с плагином leaflet.canvaslayer.field. js в стандартном html для отображения некоторого GeoTiff, и теперь мне нужна помощь, чтобы понять, как я могу портировать код в реагирующий компонент.
Мой javascript код:
d3.request('http://localhost:4000/map_tif/?band=223').responseType('arraybuffer').get(
function(error, tiffData) {
console.log(tiffData.response);
let ndvi = L.ScalarField.fromGeoTIFF(tiffData.response);
ndvi.isContinuous = false
ndvi.longitudeNeedsToBeWrapped = false
console.log(ndvi)
let layer = L.canvasLayer.scalarField(ndvi, {
color: chroma.scale('Spectral').domain(ndvi.range.reverse()),
opacity: 1,
inFilter: (v) => v !== 0
}).addTo(map);
layer.on('click', function(e) {
if (e.value !== null) {
let v = e.value.toFixed(2);
let html = (`<span class = "popupText"> Temperature ${v} °C</span>`);
let popup = L.popup()
.setLatLng(e.latlng)
.setContent(html)
.openOn(map);
}
});
map.fitBounds(layer.getBounds());
});
Спасибо