Другой цвет маркера JQuery

0

У меня есть слайдер диапазона jQuery в моей демонстрации - http://jsfiddle.net/dLWNc/35/

$( ".slider-range" ).slider({
      range: true,
      min: stations.min_value,
      step: stations.step_value,
      max: stations.max_value,
      values: [stations.min_range, stations.max_range],
      slide: function( event, ui ) {
        $("#min").val(ui.values[ 0 ]);
        $("#max").val(ui.values[ 1 ]);
      }
    });

Как я фильтрую и устанавливаю новые знаковые маркеры динамически, карта выглядит следующим образом:

Изображение 174551

Теги:
google-maps
google-maps-api-3

1 ответ

2
Лучший ответ

перебирать все маркеры и использовать setIcon(), чтобы установить URL-адрес маркера на изображение, основанное на значении.

Пример:

  $.each(station,function(i,v){

    var icon=((v.value < ui.values[0])
                ? 'http://labs.google.com/ridefinder/images/mm_20_yellow.png'
                : ((v.value > ui.values[1])
                     ? 'http://labs.google.com/ridefinder/images/mm_20_blue.png'
                     : 'http://www.google.com/mapfiles/marker.png'
               ));
    StationMarkers[i].setIcon(icon);
  });
  • 0
    Эффективность. Создайте три URL-адреса один раз за пределами each цикла, затем выберите один из них внутри цикла. В противном случае все три строки создаются снова и снова на каждой итерации. Много ненужной работы для GC.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню