anchor.diff:      // new over
       if (id in markers) {
         if (move) {
  -        map.setView(markers[id].getLatLng(), 16);
  +        if (!map.getBounds().contains(markers[id].getLatLng())) {
  +          map.setView(markers[id].getLatLng(), 16);
  +        }
         }
         markers[id].setIcon(icon_over);
         icon_over_stack.push(id);
  
positive.code:       } else {
          addMarker(destination.id, destination.lat, destination.lng);
        }
        map.setView(markers[destination.id].getLatLng(), 16);
      } else {
        delete markers[destination.id];
      }
  
negative.code:     $('[name=destination\\[lat\\]]', row).val(destination.lat);
      $('[name=destination\\[lng\\]]', row).val(destination.lng);
      markers[destination_id].setLatLng(new L.LatLng(destination.lat, destination.lng));
      if (!map.getBounds().contains(markers[destination_id].getLatLng())) {
        map.setView(markers[destination_id].getLatLng(), 16);
      }
    }
  
    function sendMove(id, latLng) {
  