Spanish-
of or pertaining to Spain
, its people, or their language.
Latino-
a person of Latin-American or Spanish-speaking descent.
Hispanic-
1: Spanish
2: Latin American
So, by these definitions it appears that all of these terms can apply to a person from Spain, whereas Latino and Hispanic would apply to a person of Latin American origins. Of these Latino would perhaps be the best term. ^_^