Показать сообщение отдельно
  #29 (permalink)  
Старый 05.10.2009, 23:39
Аспирант
Отправить личное сообщение для Beck Посмотреть профиль Найти все сообщения от Beck
 
Регистрация: 08.08.2009
Сообщений: 95

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.
Почему так?

Последний раз редактировалось Beck, 06.10.2009 в 00:56.
Ответить с цитированием