Функция не видит переменные
Добрый день, подскажите как правильно записать. Вот код:
var centroids = [
{
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]
}
];
var points = [
{
point: [50.2153,29.5036]
},
{
point: [50.3561,32.1842]
},
{
point: [48.5515,29.5915]
},
{
point: [47.6686,32.4040]
},
{
point: [48.6972,35.7438]
},
{
point: [47.1016,35.2604]
}
];
var distance = 0;
var i =0;
var j = 0;
$('#map').click(function(e) {
for(i;i<centroids.length;i++){
for(j;j<points.length;j++){
ymaps.route([centroids[i]['point'], points[j]['point']]).then(function (router) {
distance = Math.round(router.getLength() / 1000);
});
}
}
});
До функции ymaps.route([centroids[i]['point'], points[j]['point']]) внутри цикла точки и i,j выводит нормально, а вот внутри функции уже не видит их и получается, что на вход не подаются данные |
с этим разобрался, там я j забыл обнулить после прохождения внутреннего цикла, но вот еще одна проблема: в переменную distance записывается число внутри функции, но после функции в цикле я его не могу вывести, потому что его уже нету. Вот код:
for(j;j<points.length;j++){
ymaps.route([centroids[i]['point'], points[j]['point']]).then(function (router) {
distance = Math.round(router.getLength() / 1000);
});
var result =
{
mas: centroids[i]['object'],
point: points[j]['point'],
distance: distance
};
console.log(result);
}
Как мне правильно записать, чтобы то число с функции можно было вывести после нее в цикле? |
Dark19,
так может вам и строку 5 перенести в конец 3 строки? |
Цитата:
console.log(i); выводит 24 четверки а когда console.log(j); выводит 24 нуля |
Dark19,
for(j;j<points.length;j++){
(function(a, b) {
ymaps.route([centroids[a]['point'], points[b]['point']]).then(function (router) {
distance = Math.round(router.getLength() / 1000);
var result =
{
mas: centroids[a]['object'],
point: points[b]['point'],
distance: distance
};
console.log(result); });
})(i,j)
}
|
спасибо, я б такое со своими знаниями в js не сделал
еще вопросик: можно ли передать координаты в обьект не как массив с двух элементов как сделано тут point: points[b]['point'], а в таком виде [47.6686,32.4040], но не строкой? Вот тут ymaps.route([centroids[a]['point'], points[b]['point']]) передаются именно так. |
Dark19,
не понял вопроса. |
не все нормально, это я неправильно выводил, спасибо еще раз
|
Цитата:
Object {mas: "A", point: Array[2], distance: 143}
map.js:79 Object {mas: "A", point: Array[2], distance: 98}
map.js:79 Object {mas: "A", point: Array[2], distance: 276}
map.js:79 Object {mas: "C", point: Array[2], distance: 122}
map.js:79 Object {mas: "B", point: Array[2], distance: 264}
map.js:79 Object {mas: "D", point: Array[2], distance: 237}
map.js:79 Object {mas: "C", point: Array[2], distance: 247}
map.js:79 Object {mas: "D", point: Array[2], distance: 177}
map.js:79 Object {mas: "B", point: Array[2], distance: 272}
map.js:79 Object {mas: "A", point: Array[2], distance: 410}
map.js:79 Object {mas: "C", point: Array[2], distance: 370}
map.js:79 Object {mas: "A", point: Array[2], distance: 491}
map.js:79 Object {mas: "B", point: Array[2], distance: 526}
map.js:79 Object {mas: "C", point: Array[2], distance: 285}
map.js:79 Object {mas: "C", point: Array[2], distance: 394}
map.js:79 Object {mas: "D", point: Array[2], distance: 341}
map.js:79 Object {mas: "D", point: Array[2], distance: 358}
map.js:79 Object {mas: "A", point: Array[2], distance: 620}
map.js:79 Object {mas: "D", point: Array[2], distance: 434}
map.js:79 Object {mas: "B", point: Array[2], distance: 477}
map.js:79 Object {mas: "D", point: Array[2], distance: 485}
map.js:79 Object {mas: "C", point: Array[2], distance: 320}
map.js:79 Object {mas: "B", point: Array[2], distance: 828}
map.js:79 Object {mas: "B", point: Array[2], distance: 754}
|
Dark19,
потому что асинхронность когда у сервера есть возможность тогда и отвечает - 1 запрос скажем обрабатывался 100ms а второй 10ms -- в результате ответ на второй пришёл быстрее ответа на первый. |
Цитата:
есть 4 центра(количество произвольно) со своими координатами
var centroids = [
{
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]
}
];
и есть 6 точек(количество произвольно) со своими координатами
var points = [
{
point: [50.2153, 29.5036]
},
{
point: [50.3561, 32.1842]
},
{
point: [48.5515, 29.5915]
},
{
point: [47.6686, 32.4040]
},
{
point: [48.6972, 35.7438]
},
{
point: [47.1016, 35.2604]
}
];
![]() И нужно перебрать точки так, чтобы распределить их между центрами: к какому центру точка ближе, тому она и принадлежит. Но выходит, что при каждой итерации узнается только дистанция к каждому центру определенной точки, перебрать и узнать к какому центру эта точка ближе не получается. Перебрать точки на близлежащую во внутреннем цикле невозможно, а вне если сохранять дистанции в массив или обьект, то вне функции его уже не видно. Как можно перебрать значения и распределить точки по центрам? Может подскажите как внутри функции их перебрать, а то я что-то вообще не могу придумать ничего? Привожу полный код:
var centroids = [
{
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]
}
];
var points = [
{
point: [50.2153, 29.5036]
},
{
point: [50.3561, 32.1842]
},
{
point: [48.5515, 29.5915]
},
{
point: [47.6686, 32.4040]
},
{
point: [48.6972, 35.7438]
},
{
point: [47.1016, 35.2604]
}
];
var distance = 0;
var i =0;
var j = 0;
$('#map').click(function(e) {
for(i;i<points.length;i++){
for(j;j<centroids.length;j++){
(function(a, b) {
ymaps.route([points[a]['point'], centroids[b]['point']]).then(function (router) {
distance = Math.round(router.getLength() / 1000);
var result =
{
mas: centroids[b]['object'],
point: points[a]['point'],
distance: distance
};
});
})(i,j)
}
j=0;
}
});
|
Dark19,
var k = 0, pointsDistance = []; ... pointsDistance[a] = {length : 0} pointsDistance[a]["A"] = "A-distance " pointsDistance[a]["length"]++; if(pointsDistance[a]["length"] == 4) k++; if (k == 4) вычисляем что больше pointsDistance[0]["A"] или pointsDistance[0]["B"] ... для первой точки вычисляем что больше pointsDistance[5]["A"] или pointsDistance[5]["B"] ... для последней точки |
Цитата:
var k = 0, pointsDistance = [];
pointsDistance[a] = {length : b};//записываем в массив обьект с итерацией центров
if(pointsDistance[a]["length"] == 0)
pointsDistance[a]["A"] = distance;//добавляем в массив букву к которой принадлежит дистанция
if(pointsDistance[a]["length"] == 1)
pointsDistance[a]["B"] = distance;//добавляем в массив букву к которой принадлежит дистанция
if(pointsDistance[a]["length"] == 2)
pointsDistance[a]["C"] = distance;//добавляем в массив букву к которой принадлежит дистанция
if(pointsDistance[a]["length"] == 3)
pointsDistance[a]["D"] = distance;//добавляем в массив букву к которой принадлежит дистанция
pointsDistance[a]["length"]++;
if(pointsDistance[a]["length"] == 4){
var arr = [ pointsDistance[k]["A"],pointsDistance[k]["B"],pointsDistance[k]["C"],pointsDistance[k]["D"] ];
var klusters = arr.min();
k++;
}
может я что-то не так понял |
Dark19,
<script>
var centroids = [
{
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]
}
];
var points = [
{
point: [50.2153, 29.5036]
},
{
point: [50.3561, 32.1842]
},
{
point: [48.5515, 29.5915]
},
{
point: [47.6686, 32.4040]
},
{
point: [48.6972, 35.7438]
},
{
point: [47.1016, 35.2604]
}
];
var i =0;
var j = 0;
var k = 0, pointsDistance = [];
$('#map').click(function(e) {
for(i;i<points.length;i++){
pointsDistance[i] = {length : 0}
for(j;j<centroids.length;j++){
(function(a, b) {
ymaps.route([points[a]['point'], centroids[b]['point']]).then(function (router) {
var distance = Math.round(router.getLength() / 1000);
pointsDistance[a][centroids[b]["object"]] = distance
pointsDistance[a]["length"]++;
if(pointsDistance[a]["length"] == centroids.length) k++;
if (k == points.length) {console.log(pointsDistance)} //пора вычислять
});
})(i,j)
}
j=0;
}
});
</script>
|
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 выпал до него далеко всем, есть центры ближе это если лететь -- для реальных дорог считать через сервис карт. |
если честно, то не совсем понятно, что здесь происходит, но как я понимаю это функция подсчета расстояний:
f = function(b, c) {
var d = b[0] - c[0],
a = b[1] - c[1];
return Math.sqrt(d * d + a * a)
};
а как мне на ее место подставить функцию подсчета из карт:
ymaps.route([b, c]).then(function (router) {
var distance = Math.round(router.getLength() / 1000);
});
тут нельзя же так return сделать ибо я уже совсем запутался |
Цитата:
пост 14 строка 56 вам нужно только отсортировать/выбрать нужное из pointsDistance и всё |
Цитата:
for (var key1 in pointsDistance)
for (var key2 in pointsDistance [key1])
console.log(pointsDistance [key1] [key2]);
но оно мне, как то странно выводит, не все элементы, в одном внутреннем обьекте выведет, то 4, то 3 элемента. А если вот так вот просто без циклов console.log(pointsDistance); то бывает не все обьекты выведет, то1, то 2, то 4. Может ли глючить консоль или у нее какие ограничения может есть или я неправильно вывожу. А вот такая запись
for (var key1 in pointsDistance)
for (var key2 in pointsDistance [key1])
console.log(pointsDistance [key1] [key2]['A']);
должна по идее выводить все значения поля 'A'? |
Dark19,
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<script type="text/javascript">
var mapsScript = document.createElement('script');
mapsScript.onload = function() {
ymaps.ready(init);
}
mapsScript.src = 'http://api-maps.yandex.ru/2.1/?lang=ru_RU';
document.body.appendChild(mapsScript);
var myMap;
function init () {
var centroids = [
{
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]
}
];
var points = [
{
point: [50.2153, 29.5036]
},
{
point: [50.3561, 32.1842]
},
{
point: [48.5515, 29.5915]
},
{
point: [47.6686, 32.4040]
},
{
point: [48.6972, 35.7438]
},
{
point: [47.1016, 35.2604]
}
];
var i =0;
var j = 0;
var k = 0, pointsDistance = [];
for(i;i<points.length;i++){
pointsDistance[i] = {length : 0}
for(j;j<centroids.length;j++){
(function(a, b) {
ymaps.route([points[a]['point'], centroids[b]['point']]).then(function (router) {
var distance = Math.round(router.getLength() / 1000);
pointsDistance[a][centroids[b]["object"]] = distance
pointsDistance[a]["length"]++;
if(pointsDistance[a]["length"] == centroids.length) k++;
if (k == points.length) {
$.each(pointsDistance, function(b, c) {
var d = c.A, centre = "A";
for(var k in c) {
var h = c[k];
k != "length" && h < d && (d = h, centre = k)
}
pointsDistance[b] = centre
});
alert(pointsDistance)
}
});
})(i,j)
}
j=0;
}
;
}
</script>
</body>
</html>
|
Dark19,
или совсем без jquery
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<script type="text/javascript">
var mapsScript = document.createElement('script');
mapsScript.onload = function() {
ymaps.ready(init);
}
mapsScript.src = 'http://api-maps.yandex.ru/2.1/?lang=ru_RU';
document.body.appendChild(mapsScript);
var myMap;
function init() {
var centroids = [{
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]
}];
var points = [{
point: [50.2153, 29.5036]
}, {
point: [50.3561, 32.1842]
}, {
point: [48.5515, 29.5915]
}, {
point: [47.6686, 32.4040]
}, {
point: [48.6972, 35.7438]
}, {
point: [47.1016, 35.2604]
}];
var i = 0;
var j = 0;
var k = 0,
pointsDistance = [];
for (i; i < points.length; i++) {
pointsDistance[i] = {
length: 0
}
for (j; j < centroids.length; j++) {
(function(a, b) {
ymaps.route([points[a]['point'], centroids[b]['point']]).then(function(router) {
var distance = Math.round(router.getLength() / 1000);
pointsDistance[a][centroids[b]["object"]] = distance
pointsDistance[a]["length"]++;
if (pointsDistance[a]["length"] == centroids.length) k++;
if (k == points.length) {
pointsDistance = pointsDistance.map(function(c, b) {
var d = c.A,
centre = "A";
for (var k in c) {
var h = c[k];
k != "length" && h < d && (d = h, centre = k)
}
return centre
});
alert(pointsDistance)
}
});
})(i, j)
}
j = 0;
};
}
</script>
</body>
</html>
|
рони,
Если не затруднит, можете обьяснить этот кусок кода:
pointsDistance = pointsDistance.map(function(c, b) {
var d = c.A,
centre = "A";
for (var k in c) {
var h = c[k];
k != "length" && h < d && (d = h, centre = k)
|
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
переходим к следующей точке |
рони,
Огромное Вам спасибо, я как доделаю все, то выложу полный код с выводом на карту. По большому счету это получается алгоритм к-средних с использованием яндекс карт. |
рони,
Опять я вернулся в эту тему, немного почитал литературы и решил продолжить написание. Так вот возникает такая проблема: мне на дальнейшую обработку данных нужно переслать ajax'ом в php их, а конкретно обьект postDistance. Я делаю так:
$.ajax({
type: "POST",
url: "http://geotest/ajax.php",
data: { zakaz:pointsDistance },
success: function(msg){
console.log(msg);
}
});
и все отлично пересылает, но пересылает кучу раз, пока работает цикл, а мне нужно чтобы переслало окончательный результат. Но опять же как и раньше было, если я пишу пересылку после циклов, то уже не видно переменных, которые нужно переслать в php. Каким образом можно переслать обьект postDistance с уже конечными результатами работы циклов? |
Цитата:
замените алерт вашей отправкой и всё |
Цитата:
|
рони,
Вот обновленный код программы:
function init() {
var myMap = new ymaps.Map('map', {
center: [49.2469, 31.4811],
zoom: 6,
type: 'yandex#map',
behaviors: ['scrollZoom', 'drag'],
controls: []
});
var centroids = [{
object: "A",
point: [50.4404, 30.5582],
color: '#ff0000'
}, {
object: "B",
point: [49.3905, 27.0426],
color: '#B723FF'
}, {
object: "C",
point: [48.4931, 32.2721],
color: '#32B51D'
}, {
object: "D",
point: [49.5623, 34.5573],
color: '#1E98FF'
}];
var points = [{
point: [50.2153, 29.5036],
weight: 150,
name: 'a'
}, {
point: [50.3561, 32.1842],
weight: 200,
name: 'b'
}, {
point: [48.5515, 29.5915],
weight: 250,
name: 'c'
}, {
point: [47.6686, 32.4040],
weight: 300,
name: 'd'
}, {
point: [48.6972, 35.7438],
weight: 500,
name: 'e'
}, {
point: [47.1016, 35.2604],
weight: 400,
name: 'f'
}, {
point: [50.0390, 25.2796],
weight: 700,
name: 'g'
}];
var i = 0;
var j = 0;
var k = 0,
centerDistance = [];
$('#map').click(function(e) {
for (i; i < points.length; i++) {
centerDistance[i] = {
length: 0
};
for (j; j < centroids.length; j++) {
(function(a, b) {
ymaps.route([points[a]['point'], centroids[b]['point']]).then(function(router) {
var distance = Math.round(router.getLength() / 1000);
//вывод центроидов
var placemark1 = new ymaps.Placemark(centroids[b]['point'], { iconContent: centroids[b]['object'] }, {
// Задаем стиль метки (метка в виде круга).
preset: 'islands#darkGreenCircleIcon',
// Задаем цвет метки (в формате RGB).
iconColor: centroids[b]['color']
});
myMap.geoObjects.add(placemark1);
centerDistance[a][centroids[b]["object"]] = distance;
centerDistance[a]["length"]++;
if (centerDistance[a]["length"] == centroids.length){
centerDistance[k]['point'] = points[k]['point'];
centerDistance[k]['name'] = points[k]['name'];
k++;
}
if (k == points.length) {
centerDistance = centerDistance.map(function(c, b) {
var d = c.A, point = centerDistance[b]['point'],name = centerDistance[b]['name'],
centre = "A";
for (var k in c) {
var h = c[k];
k != "length" && h < d && (d = h, centre = k);
}
var centerPoints = {
center: centre,
point: point,
dist: d,
name: name
};
return centerPoints;
});
//подбор цвета точки с помощью сравнения каждого центра (буквы) с буквой центроида
for(var n in centerDistance)
for(var z in centroids){
//если буквы совпадают, то записываем цвет в текущую точку с такой же буквой
if(centerDistance[n]['center']==centroids[z]['object'])
centerDistance[n]['color']=centroids[z]['color'];
}
for(var m in centerDistance){
//вывод точек
var placemark2 = new ymaps.Placemark(centerDistance[m]['point'], { iconContent: centerDistance[m]['center'] }, {
// Задаем стиль метки (метка в виде круга).
preset: "islands#dotCircleIcon",
// Задаем цвет метки (в формате RGB).
iconColor: centerDistance[m]['color']
});
myMap.geoObjects.add(placemark2);
}
for(m=0;m<points.length;m++){
for(n=0;n<points.length;n++){
(function(c, e) {
if((centerDistance[c]['center']==centerDistance[e]['center']) && (centerDistance[c]['point']!=centerDistance[e]['point'])){
ymaps.route([centerDistance[c]['point'], centerDistance[e]['point']]).then(function(router) {
var dist = Math.round(router.getLength() / 1000);
});
}
})(m, n)
}
n=0;
}
}
});
})(i, j)
}
j = 0;
}
});
}
ymaps.ready(init);
Пытаюсь как в предыдущем примере найти расстояния, только уже не точка с центроидом, а точка которая принадлежит центроиду с другими точками этого же центроида. Например, точка принадлежит к центроиду А, то нужно найти расстояния этой точки со всеми остальными точками по очереди, которые тоже принадлежат этому центроиду. И так каждую точку: точка А1 и точка А2, точка А1 и точка А3, ... , точкаА1 и точка Аn; точка А2 и точка А3, точка А2 и точка А4, ... , точкаА2 и точка Аn; и так со всеми точками. Также, я думаю, их нужно будет записывать в массив? потому что потом нужно будет работать с предыдущим массивом centerDistance и этим. И, наверное, нужно обозначить как-то эти точки именами? я подавал им маленькие буквы англ. алфавита, может им просто номера дать, так проще будет? Вот я пытался делать такую задумку, но что-то уже на начальном этапе не очень получается:
for(m=0;m<points.length;m++){
//console.log(pointsDistance);
for(n=0;n<points.length;n++){
(function(c, e) {
if((centerDistance[c]['center']==centerDistance[e]['center']) && (centerDistance[c]['point']!=centerDistance[e]['point'])){
console.log(centerDistance[c]['point'],centerDistance[e]['point']);
ymaps.route([centerDistance[c]['point'], centerDistance[e]['point']]).then(function(router) {
var dist = Math.round(router.getLength() / 1000);
});
}
})(m, n)
}
n=0;
}
|
Dark19,
нет я пас, вы хотите решить задачу коммивояжера |
рони,
ну что-то типа того, это предусловие к алгоритму Кларка-Райта |
рони,
подскажите хоть почему когда я в точке меняю name: 'a', name: 'b',... на цифры, то в поле center обьекта centerDistance записывается слово name и вообще все не правильно рассчитывается? |
Dark19,
не могу вам более помочь, стека не хватает ))) |
Цитата:
я немного по другому решил эту проблему, но причину точно так и не понял, нашел только где это происходит |
Цитата:
|
Цитата:
|
рони,
и все таки нужна Ваша помощь. Есть перебор точек по условию и нужно когда все точки уже перебрались, передать обьект в php. Я вроде бы логично делаю: проверяю если первый и второй цикл дошел до конца присваиваю переменной единицу
if ((e==points.length-1) && (f==points.length-1))
d=1;
а в самом цикле проверяю если переменная == 1, то посылаю данные
if(d==1){
console.log(pointsDistance);
$.ajax({
type: "POST",
url: "http://geotest/ajax.php",
data: { centerDist:centerDistance,pointDist:pointsDistance },
success: function(msg){
$("#result").empty();
$("#result").append(msg);
}
});
}
});
, но оно доходит до конца циклов и еще посылает кучу раз эти данные. Как сделать чтобы дошло до окончания перебора и один раз переслало обьект?Вот весь кусок:
var pointsDistance = [],d=0;
for(m=0;m<points.length;m++){
//console.log(pointsDistance);
for(n=0;n<points.length;n++){
(function(e, f) {
//проверяем ровняется ли центр первой точки с любой другой и не равна ли эта точка себе же и больше ли у нее идентификатор чем у найденой
if((centerDistance[e]['center']==centerDistance[f]['center']) && (centerDistance[e]['point']!=centerDistance[f]['point'])
&&(centerDistance[e]['name']>centerDistance[f]['name']) ){
//рассчитываем растояние между найдеными точками одной зоны
ymaps.route([centerDistance[e]['point'], centerDistance[f]['point']]).then(function(router) {
var dist = Math.round(router.getLength() / 1000);
pointsDistance [e]= {
name: centerDistance[e]['name'] + centerDistance[f]['name'],
distance: dist,
center: centerDistance[e]['center'],
kmwin: centerDistance[e]['dist'] + centerDistance[f]['dist'] - dist
};
var route = router.getPaths();
route.options.set({ strokeWidth: 3, strokeColor: centerDistance[f]['color'], opacity: 0.5 });
myMap.geoObjects.add(route);
console.log(d);
if(d==1){
console.log(pointsDistance);
$.ajax({
type: "POST",
url: "http://geotest/ajax.php",
data: { centerDist:centerDistance,pointDist:pointsDistance },
success: function(msg){
$("#result").empty();
$("#result").append(msg);
}
});
}
});
}
console.log(e,f);
if ((e==points.length-1) && (f==points.length-1))
d=1;
})(m, n)
}
n=0;
}
|
Dark19,
немогу помочь, причину смотрите выше, проблема слабо локализована. |
| Часовой пояс GMT +3, время: 03:43. |