我正在尝试使用 JavaScript 获取多边形的面积。为此,我需要将 JSON 数组中的经度和纬度点转换为笛卡尔 x 和 y 坐标。此循环和函数将数组中每个经度值的经度值转换为 x。我现在需要用所有这些值创建一个新数组。目前它正在为 JSON 数组中的每个值创建一个新数组。这是控制台中的结果:
[445.555480625] mapChoropleth.html:280
[1, 445.55897] mapChoropleth.html:280
[2, 2: 445.62943062500005] mapChoropleth.html:280
[3, 3: 445.63478375] mapChoropleth.html:280
[4, 4: 445.64964499999996] mapChoropleth.html:280
[5, 5: 445.6483775] mapChoropleth.html:280
[6, 6: 445.61210562499997] mapChoropleth.html:280
[7, 7: 445.612394375] mapChoropleth.html:280
[8, 8: 445.6023443750001] mapChoropleth.html:280
[9, 9: 445.604339375] mapChoropleth.html:280
[10, 10: 445.571159375] mapChoropleth.html:280
这就是我目前尝试填充新数组的方式:
for (var i=0;i<areaData.coordinates[0].length;i++){
var lng = areaData.coordinates[0][i][1];
var x = XLngToPixel(lng, '#map');
function XLngToPixel(lng,elem){
var array = new Array();
var containerWidth=($(elem).width());
lng=lng+180;
array[i] = $(elem).offset().left+((lng*containerWidth)/360);
return array;
}
console.log(YLatToPixel(lng, '#map'));
}
任何帮助将非常感激!