0

У меня есть ползунок диапазона JQuery в моем демо - http://jsfiddle.net/dLWNc/35/Различные цвета маркера JQuery

$(".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 ]); 
     } 
    }); 

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

enter image description here

+0

Это не третий раз вы размещаете на этот вопрос? – davidkonrad

ответ

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. –

Смежные вопросы