Показать сообщение отдельно
  #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 страны. А иконки только для станы на выходе. Подозреваю что проблема, скорее всего, в асинхронности получения результатов геокодера.
Ответить с цитированием