Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #31 (permalink)  
Старый 06.10.2009, 15:47
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от Beck
Эх, никто не хочет разбираться в коде.
Вы бы отформатировали его хотя бы. Вы думаете это реально прочесть?
if(m['lat'][i] == all_lat[i2] && m['lng'][i] == all_lng[i2]){m['lat'].splice(i,1);m['lng'].splice(i,1);m['mcount']--;}
Ответить с цитированием
  #32 (permalink)  
Старый 06.10.2009, 16:03
Аспирант
Отправить личное сообщение для Beck Посмотреть профиль Найти все сообщения от Beck
 
Регистрация: 08.08.2009
Сообщений: 95

Сейчас выложу кусок кода, где сравнения производятся.
Ответить с цитированием
  #33 (permalink)  
Старый 06.10.2009, 16:04
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

Сообщение от Kolyaj
Вы бы отформатировали его хотя бы
хотя бы вот этим beautifier, если сам не хочешь читабельно писать
Ответить с цитированием
  #34 (permalink)  
Старый 06.10.2009, 16:28
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

а вообще, я бы принимал массив вида
[{"lat":"56.50097598931345","lng":"21.01032257080078"},{"lat":"56.49983904637648","lng":"20.999422073364258"}]

и заменил вот этот код на
for( var i=0; i<markers.length; i++ )
    for( var j=0; j<allMarkers.length; j++ )
        if( markers[i].lat == allMarkers[j].lat &&   markers[i].lng == allMarkers[j].lng ) {
            markers.splice( i, 1 );
            i--;
            break;
        }
for( var i=0; i<markers.length; i++ )
    insertMarker( markers[i] );
allMarkers = allMarkers.concat( markers );
Ответить с цитированием
  #35 (permalink)  
Старый 06.10.2009, 16:43
Аспирант
Отправить личное сообщение для Beck Посмотреть профиль Найти все сообщения от Beck
 
Регистрация: 08.08.2009
Сообщений: 95

// all_lat это общий массив широт(latitude), которые уже на карте

//m[] это данные из ответа сервера	
	
console.log(all_lat); = ["56.50097598931345", "56.49983904637648"]
console.log(m['lat']); = ["56.50097598931345", "56.53734016907318", "56.49983904637648"]

	newlat = array_diff(m['lat'],all_lat);
	newlng = array_diff(m['lng'],all_lng);

        // вот это в firebug выдает, при появлении на карте трех маркеров, из которых 1 новый
        console.log(newlat); = [undefined, "56.53734016907318"]

// newlat это массив широт для новых маркеров на карте
Ответить с цитированием
  #36 (permalink)  
Старый 06.10.2009, 16:47
Аспирант
Отправить личное сообщение для Beck Посмотреть профиль Найти все сообщения от Beck
 
Регистрация: 08.08.2009
Сообщений: 95

Сообщение от x-yuri Посмотреть сообщение
а вообще, я бы принимал массив вида
[{"lat":"56.50097598931345","lng":"21.01032257080078"},{"lat":"56.49983904637648","lng":"20.999422073364258"}]

и заменил вот этот код на
for( var i=0; i<markers.length; i++ )
    for( var j=0; j<allMarkers.length; j++ )
        if( markers[i].lat == allMarkers[j].lat &&   markers[i].lng == allMarkers[j].lng ) {
            markers.splice( i, 1 );
            i--;
            break;
        }
for( var i=0; i<markers.length; i++ )
    insertMarker( markers[i] );
allMarkers = allMarkers.concat( markers );
Спасибо! Вроде все понятно, только вот i--; не совсем уловил зачем?
Можете объяснить?
Ответить с цитированием
  #37 (permalink)  
Старый 06.10.2009, 16:48
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

Сообщение от Beck
Вроде все понятно, только вот i--; не совсем уловил зачем?
а ты попробуй поразбираться/поотлаживать... Это полезно. В общем console.log в помощь
Ответить с цитированием
  #38 (permalink)  
Старый 06.10.2009, 16:49
Аспирант
Отправить личное сообщение для Beck Посмотреть профиль Найти все сообщения от Beck
 
Регистрация: 08.08.2009
Сообщений: 95

Сообщение от x-yuri Посмотреть сообщение
а ты попробуй поразбираться/поотлаживать... Это полезно. В общем console.log в помощь
Сейчас же примусь!

Теперь хочу реализовать проверку зон, из которых маркеры уже вытаскивались из базы.

Только вот как бы это реализовать, чтобы не было "слепых зон","пустых зон".

Последний раз редактировалось Beck, 06.10.2009 в 16:56.
Ответить с цитированием
  #39 (permalink)  
Старый 06.10.2009, 17:01
Аватар для e1f
e1f e1f вне форума
Профессор
Отправить личное сообщение для e1f Посмотреть профиль Найти все сообщения от e1f
 
Регистрация: 03.04.2009
Сообщений: 1,263

Сообщение от x-yuri Посмотреть сообщение
а вообще, я бы принимал массив вида
[{"lat":"56.50097598931345","lng":"21.01032257080078"},{"lat":"56.49983904637648","lng":"20.999422073364258"}]
x-yuri,
а я бы (если записей станет больше)
{"head":["lat", "lng"], "rows":[["56.50097598931345", "21.01032257080078"],["56.49983904637648", "20.999422073364258"]]}

Компактней, можно читабельные имена полей задавать, без ущерба для траффика.
Ответить с цитированием
  #40 (permalink)  
Старый 06.10.2009, 17:05
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

Сообщение от Beck
Только вот как бы это реализовать, чтобы не было "слепых зон","пустых зон".
а откуда они появяться?

e1f, пожалуй +1
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Что выбрать XML или JSON для передачи Ajax - ом из PHP в JS Gozar Общие вопросы Javascript 20 16.08.2009 23:36
Ajax ограничение по расширениям фото. t0xas AJAX и COMET 8 13.08.2009 11:29
AJAX и history браузера Shasoft jQuery 5 25.06.2009 16:22
Объясните как вызывается ajax скрипт AddressBook из формы prog90 AJAX и COMET 3 06.06.2009 16:12
Ajax - JSON - не распознает пришедший ответ Майский Кот jQuery 1 14.05.2009 00:40