Create the Annotate data set CITIES from the MAPS.USCITY data set. The unprojected LONG and LAT variable values are converted to radians and substituted for the projected X and Y variable values. LONG and LAT are converted by multiplying them by the arccosine of -1 and dividing that amount by 180. The value of STATE is modified for each label to insure that it is unique.
data cities; set maps.uscity(keep=lat long city state); length function style color $ 8 position $ 1 text $ 20; retain function "label" xsys ysys "2" hsys "1" when "a"; if (state=45 and city="Charleston") or (state=25 and city="Boston") or (state=23 and city="Bangor"); state+100; color="black"; size=8; text="V"; position="5"; style="marker"; x=long*arcos(-1)/180; y=lat*arcos(-1)/180; output; state+1; color="black"; size=5; text=" "||city; position="6"; style="swissb"; output; run;