2017-06-30 25 views
0

私はこのようなマップ点を挿入しています:リーフレット:マップに動的に挿入されている表示/非表示のマーカー

function getPoints() { 
    $.getJSON("get_users.php", function (data) { 
    for (var i = 0; i < data.length; i++) { 
     var location = new L.LatLng(data[i].lat, data[i].lng); 
     var name = data[i].name; 
     var website = data[i].website; 
     var teste = "teste" + website; 

     var marker = new L.Marker(location, { 
     icon: tree1 
     }); 
     marker.bindPopup("<a onclick='info()' style='font-size:18px; font-style: italic; font-family:courier; cursor: pointer;'>" + name + "</a><p>" + city + "</p><p id='inf' style='display:none;'>" + website + "</p><p style='font-size:10px;'>" + location + "</p>", {maxWidth: '400'}); 
     users.addLayer(marker); 
    } 
    }).complete(function() { 
    if (firstLoad == true) { 
     map.fitBounds(users.getBounds()); 
     firstLoad = false; 
    }; 
    }); 
} 

を、私は、ユーザーが唯一例えば、マーカーを見ることができるようにしたかったですそのクラスを持たないポイントを隠すためにjavascriptを使ってクラス "foo"を使っています。

私の問題は、私はマーカーにクラスを割り当てることができていないということです..私は試してみました:$(marker._icon).addClass(foo)$(marker).addClass('foo')

DomUtil:DomUtil.addClass(marker, 'foo')marker = L.DomUtil.addClass(marker, 'foo')

アム

はjQueryのを使用して私はクラスを宣言して何か間違っている?私を修正してください!

答えて

1

リーフレットは実際に地図上のマーカーをレンダリングするためにDOM要素を使用しますが、独自の操作方法を提供します。

クラスに頼るのではなく、レイヤーグループにマーカーを追加します。これはリーフレットで他のレイヤーと同様に操作できます。 addToremoveLayer希望のグループをマップしてそのマーカーを表示/非表示にすることができます。

関連する問題