2013-09-28 38 views
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

效率:在'each'循环之外创建三个URL,然后在循环中选择它们。否则,每次迭代都会重复创建三个字符串。 GC的许多不必要的工作。 –