title: leaflet.js Zoom to Clicked Feature and then Pan to the Right
body: <p>I would like to be able to fitBounds to a feature when you click on it, but when it zooms in I'd like it to take into account a control layer that will appear once zoomed in, and zoom in but just about 150px to the left.  Currently I can accomplish this with the following code, but unfortunately it's not a smooth zoom because my current method will zoom using fitBounds and then once zoomed it uses panBy to pan 150px to the left.  This wouldn't be so bad if the panning was smooth, perhaps maybe after a 250ms wait.  Ideally I would like to be able to do some math on the bounds passed to the fitBounds method to simply account for the 150px shift to the left.</p>
  
  <p>Here is an <a href="http://uberbuilder.github.com/choropleth/tests/2013/02/08/hunger-coalition-version-0.1.7/" rel="nofollow">example</a> of what I currently have working.</p>
  
  <p>Here is a simplified version of the code I'm using: (you may click <a href="http://uberbuilder.github.com/choropleth/tests/2013/02/08/hunger-coalition-version-0.1.7/" rel="nofollow">here</a> for a fully working version with all of the source code)</p>
  
  <p><strong>when you click</strong></p>
  
  <pre><code>function clickFeature(e) {
    var layer = e.target;
  
    map.fitBounds(layer.getBounds());
  }
  </code></pre>
  
  <p><strong>map on zoomEnd:</strong></p>
  
  <pre><code>map.on({
    zoomend: function() {
      map.panBy([150, 0]);
    }
  });
  </code></pre>
  
  <p>So, I've achieved the desired function, but it's just not smooth.</p>
  
  <p>Is there a way to just do some math on the bounds that we're getting for the clicked feature so that when we zoom we zoom into an already modified coordinate, thus eliminating the two-step animation process?</p>