This is a tricky one... You could try using double axis long and lat on your map and having different levels of detail on each (as described here: http://community.tableau.com/message/174670#174670) - i.e. country on one and state on the other. Only problem with this is you'll get overlapping marks on your map. One way round it would be to create a calculated fields for the measure you're showing and set it to null if country = US and use that in the country level mark.
Thanks Robin, this works. I added a second column to my data set to get around the overlapping marks and it works fine!