2017-08-23 5 views
2

HTML5マップエリアの中心点を取得するにはどうすればよいですか? これにはweb pagehttp://webven.ru/portfolio/istra/page.htmlがあり、多くの座標を持つポリゴンがあります。どのように中心点を得ることができますか?html5マップエリアの中心点を取得するには?

私はコードの下にしようとしている:

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 
};} 

しかし、それは、地域のすべてのために、動作しません。

+0

ようこそ、あなたはコードスニペットやフィドルを作成できますか? –

+0

私はあなたのページでそれを試してみて、それは正しいと思われる '{x:1304.5、y:926.5}'を返します。 – trincot

答えて

0

elseelse if (x > maxX)else if (y > maxY)で削除します。

ループの最初の反復では、両方の条件が真である可能性があります。

+0

あまりにもありがとう! –

関連する問題