title: Update Leaflet GeoJson layer and maintain selected feature popup
body: <p>I have a <code>leaflet</code> map which I am refreshing with new data from the server.  You can click on the map feature and a <code>popup</code> will show for the point.  Every time the refresh happens, I remove the <code>layer</code> using <code>map.removeLayer</code>, add the new data using <code>L.geoJson</code>, but the popup goes away.  I want the popup to stay active with the new data.  I know this probably won't work the way I'm doing it by removing the <code>layer</code>.  Is there another way to do this that will refresh the layer data and maintain the selected feature popup?</p>
  
  <p>This is the refresh function that I call after I get the new data from the server.</p>
  
  <pre><code>function refreshMapLocations() {
      map.removeLayer(locationLayer);    
      locationLayer = L.geoJson(locations, {
          onEachFeature: onEachFeature
      }).addTo(map);  
  }
  </code></pre>
  
  <p>This creates the popup for each feature</p>
  
  <pre><code>function onEachFeature(feature, layer) {
      if (feature.properties &amp;&amp; feature.properties.UserName) {
          layer.bindPopup(feature.properties.UserName);
      }
  }
  </code></pre>