Bryan
I'm using a part of your very nice code (leaflet map users) to create a map and adding the advice above to create layers according to categories.
Could you please help me to sort this problem?
***********************************
// Getusers
function getUsers() {
$.getJSON("get_users.php", function(data) {
for (var i = 0; i < data.length; i++) {
var location = new L.LatLng(data[i].lat/scale_y, data[i].lng/scale_x);
var name = data[i].name;
var type = data[i].type;
var yield = data[i].yield;
var description = data[i].description;
var contributor = data[i].contributor
if (data[i].description.length > 7) {
var title = "<div style='font-size: 18px; color: #0078A8;'><a href='" + data[i].description + "' target='_blank'>" + data[i].name + "</a></div>";
}
else {
var title = "<div style='font-size: 18px; color: #0078A8;'>" + data[i].name + "</div>";
}
if (data[i].yield.length > 0) {
var city = "<div style='font-size: 14px;'>" + data[i].yield + "</div>";
}
else {
var city = "";
}
if (data[i].properties.type == 'NPC City') {
group_npc.addGeoJSON(data);
};
var marker = new L.Marker(location, {
title: name,
icon: iconA
});
marker.bindPopup("<div style='text-align: left; margin-left: auto; margin-right: auto;'>" + "<h5>" + "<b>" + title + "</h5>" + "<ul>" + "<b>" + "Type: " + "</b>" + type + "</ul>" + "<ul>" + "<b>" + "Difficulty: " + "</b>" + yield + "</ul>" + "<ul>" + "<p>" + "<b>" + "Description: " + "</b>" + description + "<p>" + "</ul>" + "<ul>" + "<b>" + "Contributor: " + "</b>" + contributor + "</ul>" + "</div>", {
maxWidth: '400'
});
map.addLayer(marker);
}
});
}
// Layer group declarations
var group_npc = L.layerGroup(markers_npc);
var group_player = L.layerGroup(markers_player);
var group_hamlet = L.layerGroup(markers_hamlet);
var group_village = L.layerGroup(markers_village);
var group_chaos = L.layerGroup(markers_chaos);
var group_teleport = L.layerGroup(markers_teleport);
var group_portal = L.layerGroup(markers_portal);
// Create overlays
var overlays = {
"NPC Cities": group_npc,
"Player Cities": group_player,
"Hamlet": group_hamlet,
"Village": group_village,
"Portal": group_portal,
"Teleportation Entrances": group_teleport,
"Chaos Stone": group_chaos,
};
layersControl = new L.Control.Layers(overlays, {
collapsed: true
});
map.addControl(layersControl);
***********************************************************************