you're declaring objects in advance of their usage again here.  Is it a best practice?  Is there an advantage over just having:
      var marker = new L.marker();

?