使用javascript在mapbox上加载geojson制造商

时间:2013-09-04 17:45:16

标签: javascript regex geojson mapbox

我的问题与JS有关,而不是与mapbox有关。

我已加载few geojson markers with different datesThe Geojson格式为:

  

“Fri Oct 17 01:00:00 GMT + 02:00 2008”

我想每年过滤一次标记。目前我只能过滤指定的值,如 return f.properties ['LabelName'] ==='雷恩';

  • 我想过像这样玩正则表达式:
douze.onclick = function(e) {
    all.className = '';
    this.className = 'active';
    // The setFilter function takes a GeoJSON feature object
    // and returns true to show it or false to hide it.
    markerLayer.setFilter(function(f) {
        // First try wtih reGex on DateTime
          var stryear = f.properties['DateTime']; 
          var reg20 = /20\d*/g;
          console.log(stryear.match(reg20));
          return f.stryear.match(reg20) === '2012';
    });
    return false;
};

但它不起作用。正则表达式是否具有良好的价值? Mozilla控制台对我没有帮助。

提前感谢您的帮助

1 个答案:

答案 0 :(得分:0)

我想你想要这个:

...
var reg20 = /20\d*/g;
console.log(stryear.match(reg20));
return f.stryear.match(reg20)[0] == '2012';

match()会返回匹配的数组,因此请添加[0]来访问第一个匹配项。
还可以使用==来比较值,而不是比较对象的===