Using overlap add for drawing spectrogram
Apply window function to each overlapped window, and then simply draw
  the FFT magnitude response of each window as if the spectrum
  corresponds to the center time of the window.


Your approach is partially correct. But in the second half of sentence is not how you draw a spectrogram. You shouldn't align the FFT output in the same direction as time. It should be perpendicular direction as time. After you obtain FFT Magnitude, look at it from "above". Means the colour grades that you give depends on the magnitude value. This will be line corresponding to first window. Similarly, for second window, you place it next to it (since you took it after certain interval of time). An example below shows simple spectrogram having 3-bin FFT with middle bin having higher value compared to other bins.