function getObjects(obj, key, val) { var objects = []; for (var i in obj) { if (!obj.hasOwnProperty(i)) continue; if (typeof obj[i] == 'object') { objects = objects.concat(getObjects(obj[i], key, val)); } else if (i == key && obj[key] == val) { objects.push(obj); } } return objects; } function mergeProperties(geom, props, id) { var newgeom = {type: "FeatureCollection",features: []}; for (var i in geom.features) { var key = geom.features[i][id]; var g = geom.features[i].geometry; if (key === undefined) continue; var p = getObjects(props, id, key); newgeom.features.push({"id": key,"type": "Feature","geometry": g,"properties": p[0].properties}); } return newgeom; } Layer1Object = mergeProperties(Layer1Geom, propertiesTable, "id"); function onEachFeature(feature, layer) { var popupContent = feature.geometry.type; if (feature.properties && feature.properties.popupContent) { popupContent += feature.properties.popupContent; } layer.bindPopup(popupContent); layer.on({ mouseover: highlightFeature, mouseout: resetHighlight, click: zoomToFeature }); } var geojson; geojson = L.geoJson(Layer1Object, {style: styleOfEachFeature, onEachFeature: onEachFeature, pointToLayer: function (feature, latlng) { }}).addTo(map); // ROTULO SUPERIOR var info = L.control(); info.onAdd = function (map) { this._div = L.DomUtil.create('div', 'info'); this.update(); return this._div; }; info.update = function (props) { this._div.innerHTML = '