Показать сообщение отдельно
  #15 (permalink)  
Старый 31.05.2015, 17:30
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,127

Dark19,
без сервиса карт это будет так
<!DOCTYPE HTML>

<html>

<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
  </style>
  <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
  <script>
$(function() {
    var a = [{
            object: "A",
            point: [50.4404, 30.5582]
        }, {
            object: "B",
            point: [49.3905, 27.0426]
        }, {
            object: "C",
            point: [48.4931, 32.2721]
        }, {
            object: "D",
            point: [49.5623, 34.5573]
        }],
        e = [],
        f = function(b, c) {
            var d = b[0] - c[0],
                a = b[1] - c[1];
            return Math.sqrt(d * d + a * a)
        };
    $.each([{
        point: [50.2153, 29.5036]
    }, {
        point: [50.3561, 32.1842]
    }, {
        point: [48.5515, 29.5915]
    }, {
        point: [47.6686, 32.404]
    }, {
        point: [48.6972, 35.7438]
    }, {
        point: [47.1016, 35.2604]
    }], function(b, c) {
        var d = f(c.point, a[0].point);
        e[b] = a[0].object;
        $.each(a, function(a, g) {
            var h = f(c.point,g.point);
            h < d && (d = h, e[b] = g.object)
        })
    });
    alert(e)
});
  </script>
</head>

<body>


</body>

</html>

итого:
точки 0,1,2 ближе к центру 0
точка 3 ближе к центру 2
точки 4,5 ближе к центру 3
центр 1 выпал до него далеко всем, есть центры ближе

это если лететь -- для реальных дорог считать через сервис карт.

Последний раз редактировалось рони, 31.05.2015 в 17:33.
Ответить с цитированием