다음 코드를 reactjs로 변환할 수 있습니까? 도와주세요
maptalks.GridLayer 데모
<style>
#map { width: 1350px; height: 600px; }
</style>
var map = new maptalks.Map("map",{
center: [91.89165, 25.5894],
zoom: 7,
attributionControl : {
'content' : '&copy; <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors'
},
baseLayer : new maptalks.TileLayer("tile",{
urlTemplate: 'http://cartodb-basemaps-{s}.global.ssl.fastly.net/light_all/{z}/{x}/{y}.png',
subdomains : ['a','b','c','d'],
})
});
maptalks.Ajax.get('t.txt', function (err, data) {
if (err || !data) {
throw new Error('error when loading midcapse_12h_1km.txt');
}
var gridData = readData(data);
// map.setCenter(gridData.center);
var grid = new maptalks.GridLayer('grid', gridData, {
symbol : {
'lineWidth' : 0
}
}).addTo(map);
});
function readData(content) {
const data = [];
// grid's southwest and northeast
var sw, ne,
// grid width and grid height
width, height,
center,
cols, rows,
centerCol = 0,
centerRow = 0;
var line = 0;
var dataRows = 0, dataLineCnt = 0;
var dataLine = '';
var currentLine = '';
var cols;
for (var i = 0, l = content.length; i < l; i++) {
var chr = content.charAt(i);
if (line < 2) {
currentLine += chr;
}
if (chr === '\n') {
if (line === 1) {
var descripts = currentLine.split(' ');
width = +(descripts[6]);
height = +(descripts[7]);
sw = new maptalks.Coordinate(descripts[8], descripts[10]);
ne = new maptalks.Coordinate(descripts[9], descripts[11]);
cols = +(descripts[12]),
rows = +(descripts[13]),
center = sw.add(ne)._multi(1 / 2);
centerCol = Math.floor((center.x - sw.x) / width);
centerRow = Math.floor((center.y - sw.y) / height);
}
if (line < 2) {
currentLine = '';
}
line++;
} else if (line === 2) {
dataLine += chr;
if (chr === ' ') {
dataRows++;
}
if (dataRows === cols) {
var cells = dataLine.split(' ');
for (var ii = 0; ii < cells.length; ii++) {
var value = +cells[ii];
if (value !== 0) {
data.push([
ii - centerCol,
dataLineCnt - centerRow,
{
symbol : {
'polygonFill' : gridValue2FillColor(value),
'polygonOpacity' : 0.7,
'lineWidth' : 0,
'lineColor' : '#bbb',
'lineOpacity' : 0
// 'textName' : '{value}',
// 'textSize' : { stops: [[14, 0], [18, 48]] }
},
properties : {
value : value.toFixed(1)
}
}
]);
}
}
dataLine = '';
dataRows = 0;
dataLineCnt++;
}
}
}
return {
unit : 'degree',
center : center,
width : width,
height : height,
cols : [centerCol - cols, cols - centerCol],
rows : [centerRow - rows, rows - centerRow],
data : data
};
}
function gridValue2FillColor(value) {
if (값 < 0.0 ) {반환 "#FFFF00";
} else if (값 < 0.1 ) {
반환 "#FF0000";
} else if (값 < 40 ) {
반환 "#A52A2A";
}
}
Reference
이 문제에 관하여(다음 코드를 reactjs로 변환할 수 있습니까? 도와주세요), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/yeldo987/can-we-convert-the-following-code-to-reactjs-please-help-5817텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)