The Hannibal City Council voted 4 to 3 Tuesday night on an ordinance that places a city-wide smoking ban on the April ballot.