问题Mapbox过滤自定义图标

时间:2014-07-04 22:06:42

标签: javascript filter icons mapbox

我有这个webapp:

http://ftp.escape.pe/mapa-robos/test.html

图标看起来不错,但过滤器菜单不起作用,控制台说:


ReferenceError:未定义标记

markers.setFilter(function(f){


这是javascript的一部分:

$('.menu-ui a').on('click', function() {
// For each filter link, get the 'data-filter' attribute value.
var filter = $(this).data('filter');
$(this).addClass('active').siblings().removeClass('active');
markers.setFilter(function(f) {
    // If the data-filter attribute is set to "all", return
    // all (true). Otherwise, filter on markers that have
    // a value set to true based on the filter name.
    return (filter === 'all') ? true : f.properties[filter] === true;
});
return false;

});

拜托,任何人都可以帮助我=(

PD。抱歉我的英语=(

1 个答案:

答案 0 :(得分:0)

这里的错误信息是解释性的。

ReferenceError: markers is not defined

您正在尝试引用未定义的变量markers。因此,您将featureLayer称为其他内容。向上滚动一下,看看

var myLayer = L.mapbox.featureLayer().addTo(map);

您的featureLayer名为myLayer。而不是说

markers.setFilter(function(f) {

你需要说

myLayer.setFilter(function(f) {