javascript - 如何获取html5 map 区域的中心点?

标签 javascript html canvas svg

如何获取 HTML 5 map 区域的中心点? 关于这个web page http://webven.ru/portfolio/istra/page.html有多边形,有很多坐标。如何获得中心点?

我试过下面的代码:

function calculateCenterPoint(areas) {
var maxX = 0,
    minX = Infinity,
    maxY = 0,
    minY = Infinity;
Array.prototype.forEach.call(areas, function (e) {
    var i = 0,
        coords = e.getAttribute('coords').split(',');
    while (i < coords.length) {
    var x = parseInt(coords[i++],10),
        y = parseInt(coords[i++],10);
    if (x < minX) minX = x;
    else if (x > maxX) maxX = x;

    if (y < minY) minY = y;
    else if (y > maxY) maxY = y;
    }
});
return {
    x: minX + (maxX - minX) / 2,
    y: minY + (maxY - minY) / 2
};}

但这并不适用于所有区域。

最佳答案

删除 else if (x > maxX)else if (y > maxY) 中的 else

问题是在循环的第一次迭代中,两个条件都可以(并且将会)为真。

关于javascript - 如何获取html5 map 区域的中心点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45840183/

相关文章:

javascript - jQuery:触发淡入函数调用

javascript - 将 $_POST 变量传递到新 URL,然后返回到之前的 URL - 最佳实践?

javascript - 无法根据 Kendo UI 中的组合框选择正确填充 Kendo Treeview

android - canvas.drawRect 如何绘制矩形

javascript - Ajax异步请求问题

javascript - NGINX 反向代理 Node HTTPS

javascript - 如何重构二进制递归以使其与蹦床功能兼容?

javascript - 如何在 plunker 中维护我的下划线模板设置?

javascript - 在kinetic js中拖动一个形状也会移动一个不相关的形状

javascript - 如何在 HTML Canvas 中使用不同颜色的文本