我正在插入这样的地图点:
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;
};
});
}
我希望用户能够只看到标记,例如使用类“foo”,使用javascript来隐藏没有该类的点。
我的问题是我无法为标记指定一个类..我试过了:
使用JQuery:$(marker._icon).addClass(foo)
,$(marker).addClass('foo')
DomUtil:DomUtil.addClass(marker, 'foo')
,marker = L.DomUtil.addClass(marker, 'foo')
我做错了宣布上课吗?请纠正我!
答案 0 :(得分:1)
虽然Leaflet确实使用DOM元素在地图上渲染标记,但它提供了自己的操作方式。
不是依赖于类,而是将您的标记添加到图层组中,您可以像其他图层一样使用Leaflet进行操作。您可以addTo
映射并映射removeLayer
所需的组以显示/隐藏其包含的标记。
答案 1 :(得分:1)
您可以使用标记创建一个LayerGroups数组,然后使用子数组,您只能放置要显示的标记,并随时删除和添加