Hi Gianluca,
thanks for putting me on the right track. I modified your code a little bit to end up with the map with the right rotation and put the flag on the right direction. Here it is how I adapted your solution:
coord = CountryData["UnitedStates", "Coordinates"][[1]];
Rotate[ImageReflect[Graphics[{Texture[ CountryData["UnitedStates", "Flag"]], Polygon[coord,
VertexTextureCoordinates -> -Transpose[{Rescale[
coord[[All, 1]]], Rescale[coord[[All, 2]]]}]]}],Left -> Right], -\[Pi]/2]
There might be a better way to do it without using ImageReflect but this was the only way I manage to do it.
If you have any good reference for learning Polygon and Texture manipulation, it will be deeply appreciated.
Many thanks.
UPDATED: Here it is some improvement I managed to implement:
coord = CountryData["UnitedStates", "Coordinates"][[1]].{{-1, 0}, {0,1}}.{{0, -1}, {1, 0}};
Graphics[{Opacity[0.5], Texture[CountryData["UnitedStates", "Flag"]], Polygon[coord,VertexTextureCoordinates ->Transpose[{Rescale[coord[[All, 1]]], Rescale[coord[[All, 2]]]}]]}]