Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 29.12.2010, 21:27
Интересующийся
Отправить личное сообщение для mamamiya Посмотреть профиль Найти все сообщения от mamamiya
 
Регистрация: 27.06.2010
Сообщений: 14

Иконки для маркеров в гугл мапс.
Уже битый час бьюсь. Нужно в зависимости от полученных данных выставить определенный маркер для метки в гугл мапс. Все работает на ура, но метки везде всегда выставляются только одного типа (конкретно - для страны)
for (var k in data){
            var v = data[k];
            if(v.country_id){
                loc = 'страна ' + v.country_name;
                icon = '/css/green_big_select.png';
            } 
            if(v.city_id){
                loc = 'город ' + v.city_name;
                icon = '/css/blue_mini.png';
            }
            geocoder.geocode( {
                'address': loc 
            }, function(results, status) {
                if(status=='OK'){
                    markers[k] = new google.maps.Marker({
                        position: results[0].geometry.location,
                        map: map, 
                        icon: icon /* - вот здесь иконка всегда равна первому варианту, хотя loc (тот, по которому ищутся координаты всегда разный)*/
                    });


                }
                else alert('не удается найти объект');
            });
        }

Причем в массиве входящих данных первым идет город, потом 3 страны. А иконки только для станы на выходе. Подозреваю что проблема, скорее всего, в асинхронности получения результатов геокодера.
Ответить с цитированием
  #2 (permalink)  
Старый 29.12.2010, 21:30
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,588

я могу ошибаться-но это javascript? не ну конечно если бы я знал as3 меньше чем сейчас-прочитал всего несколько страниц -я бы сказал что это он.но это не он.

Последний раз редактировалось dmitriymar, 29.12.2010 в 21:44.
Ответить с цитированием
  #3 (permalink)  
Старый 29.12.2010, 21:35
Интересующийся
Отправить личное сообщение для mamamiya Посмотреть профиль Найти все сообщения от mamamiya
 
Регистрация: 27.06.2010
Сообщений: 14

js, родной.. и даже работает. вот только проблема таки остается)
Ответить с цитированием
  #4 (permalink)  
Старый 29.12.2010, 21:37
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,588

Сообщение от mamamiya
for (var k in data)
непохоже как то. точнее совсем не похоже
а вот на цикл for/in языка JAVA совсем очень похоже-я бы сказал что близнецы

Последний раз редактировалось dmitriymar, 29.12.2010 в 21:44.
Ответить с цитированием
  #5 (permalink)  
Старый 29.12.2010, 21:41
Интересующийся
Отправить личное сообщение для mamamiya Посмотреть профиль Найти все сообщения от mamamiya
 
Регистрация: 27.06.2010
Сообщений: 14

Сообщение от dmitriymar Посмотреть сообщение
непохоже как то
а как должно быть чтобы было похоже?)
Ответить с цитированием
  #6 (permalink)  
Старый 29.12.2010, 21:47
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,588

та да нашел их и в скрипте .не знал что он есть в скрипте
Ответить с цитированием
  #7 (permalink)  
Старый 29.12.2010, 21:51
Интересующийся
Отправить личное сообщение для mamamiya Посмотреть профиль Найти все сообщения от mamamiya
 
Регистрация: 27.06.2010
Сообщений: 14

рад кому то помочь обогатиться знаниями. и всетаки нет желания разобраться в чем может быть реальня проблема?)
Ответить с цитированием
  #8 (permalink)  
Старый 29.12.2010, 21:52
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,588

я не понимаю больше половины в приведённом тобой скрипте
if(v.country_id)-не понимаю вообще.v.country_id по логике 1 или 0 должны быть в этом случае. но глядя на след строчку понимаю что принимает любые значения и обрабатывается в этом ветвлении -но как?

Последний раз редактировалось dmitriymar, 29.12.2010 в 21:55.
Ответить с цитированием
  #9 (permalink)  
Старый 29.12.2010, 21:57
Интересующийся
Отправить личное сообщение для mamamiya Посмотреть профиль Найти все сообщения от mamamiya
 
Регистрация: 27.06.2010
Сообщений: 14

country_id, city_id могут быть каким то числом или null. Соответственно где country_id = null город будет 100% задан и наоборот, и проверка таким образом идет нормально.
Ответить с цитированием
  #10 (permalink)  
Старый 29.12.2010, 22:01
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,588

интересно ... но ведь для вхождения в тело ветвления значение должно быть true внутри скобок. а по скольку оно у тебя любое-то по логике в тело ветвления зайдёт только когда примет значение 1. не могу понять всё равно.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Решение проблемы кодировок для AJAX и PHP без iconv (cp1251 в AJAX) Serge Ageyev AJAX и COMET 10 24.04.2013 20:48
Модуль для работы с модулями JSprog Ваши сайты и скрипты 29 02.09.2009 13:31