How to check whether gameObject is on even ground?

I am developing a “city builder”.
When the user clicks on build a building will appear and will follow the cursor until he clicks on the terrain.
I then save the position of the building in an array. When placing the next one, it will be checked whether the array is empty for this position. If so, it can be placed. If not, it will disappear until you move the cursor away from that position.

That works pretty fine. But it is not exactly what I wanted.

I want that, while placing, there is a check whether the area the new building would occupy is empty and on even ground.