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 выпал до него далеко всем, есть центры ближе
это если лететь -- для реальных дорог считать через сервис карт.