if(all_lat_length > 1) {
newlat = array_diff(m['lat'],all_lat);newlng = array_diff(m['lng'],all_lng);
console.log(newlat);console.log(newlng);
for(i = 1;i < newlat.length;i++){insert_marker(newlat[i],newlng[i]);}
}
else {
if(m['mcount'] > 1) { for(i = 0;i < m['lat'].length;i++) {insert_marker(m['lat'][i],m['lat'][i]);} }
else {insert_marker(m['lat'],m['lng']);}
}
console.log(mcnt);
Нашел функцию у вас на сайте:
function array_diff (array) { // Computes the difference of arrays
//
// + original by: Kevin van Zonneveld ([url]http://kevin.vanzonneveld.net[/url])
var arr_dif = [], i = 1, argc = arguments.length, argv = arguments, key, key_c, found=false;
// loop through 1st array
for ( key in array ){
// loop over other arrays
for (i = 1; i< argc; i++){
// find in the compare array
found = false;
for (key_c in argv[i]) {
if (argv[i][key_c] == array[key]) {
found = true;
break;
}
}
if(!found){
arr_dif[key] = array[key];
}
}
}
return arr_dif;
}
Прогнал через нее оба массива, вроде всё работает, но как доработать, чтобы сверять и широту и долготу одновременно.
И еще, почему-то в newlat нулевой слот стоит undefined, как и в newlng.
Почему так?