回到我先前的问题:Leaflet.js - Create layers and add markers depending on geojson category data?(我没有明确的答案来解决我的问题)
我用以下代码找到了这个JSFiddle http://jsfiddle.net/1Lshjdxq/19/:
// Create the map
var map = L.map('map');
// Set up the OSM layer
var osmTiles = L.tileLayer(
'http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {
maxZoom: 18
}).addTo(map);
var baseLayer = {
"Open Street Map": osmTiles
};
var featureLayer = new L.geoJson(data, {
onEachFeature: function (feature, layer) {
var popupContent = [];
// render properties
for (var key in feature.properties) {
popupContent.push(key + ": " + feature.properties[key]);
}
layer.bindPopup(popupContent.join("<br/>"));
}}).addTo(map);
map.fitBounds(featureLayer.getBounds()).zoomOut(2);
var overlay = {
"Features": featureLayer
}
var layerControl = new L.control.layers(baseLayer, overlay, {
collapsed: false
});
map.addControl(layerControl);
并且想知道是否可以在Key“ CATEGORY”上放置一个过滤器,以便能够使用layerControl显示/隐藏链接到“ CATEGORY”的标记。
最终结果是根据json中“ CATEGORY”键的值显示或隐藏标记。不必使用controlLayer。