I have seen kanji characters on maps referencing Germany, China, Italy, the United States of America, and various other countries, but many are written in katakana. Is there a reason for this?
About 150 years ago or so, Japanese people mainly used kanji names for foreign countries. This is mainly because it was common to do so also in Chinese, by which the Japanese culture was heavily influenced at that time. In those days, Japanese people liked to create new kanji compounds for any new foreign concepts. 電話 (telephone), 哲学 (philosophy) and so on are new words coined by Japanese people of this era.
However, since we have katakana that can directly approximate the sounds of any foreign words, Japanese people gradually stopped assigning new kanji for each foreign word. As you may know, katakana is the primary method of expressing foreign words in Japanese today.
For certain large and old countries, we still keep using the initials of kanji country names for convenience (eg, 米 = USA, 仏 = France, 露 = Russia). But they are rarely spelled out (亜米利加, 仏蘭西, 露西亜) today, and new additions are unlikely to happen any more. Note that official names of these countries are in katakana (アメリカ, フランス, ロシア), and you should always use the katakana versions wherever space-saving is not important.
Only five countries are officially written with kanji in modern Japanese. 日本 (Japan) itself, 中国/中華人民共和国 (China), 韓国/大韓民国 (Korea), 北朝鮮/朝鮮民主主義人民共和国 (DPRK) and 台湾/中華民国 (Taiwan).
- What is the rule in assigning kanji to a new word?
- How would "nihonium" be written in Japanese Kanji?
As you can see in the link, the story is very different in China, where people are still coining a lot of new kanji words.
The Japanese people weren't as enthusiastic about gairaigo when many early translations were made, so the names were spelled with kanji (just like how country names are translated in Chinese). These kanji, of course, are ateji (当て字). Thus, the Netherlands (one of the first western countries to build connections with Japan) was 和蘭｛オランダ｝ (from "Holland", which is the most affluent province of the Netherlands and where Amsterdam is located) or just 蘭｛ラン｝ (as in 蘭学｛らんがく｝). The US was 亜米利加｛アメリカ｝ and thus 米国｛べいこく｝, France was 仏蘭西｛フランス｝ and thus 仏国｛ふつこく｝, the UK was 英吉利｛イギリス｝ and thus 英国｛えいこく｝, Germany was 独逸｛ドイツ｝ (from Dutch duits or German deutsch, which are cognates) and thus just 独｛どく｝, and Russia was 露西亜｛ロシア｝ and thus 露国｛ろこく｝.
Writing ateji for gairaigo (which used to be considered formal) gradually became a rare practice. Thus, the US is just アメリカ and France is just フランス now. However, the kanji abbreviations are still used, so the US is still 米 and France is still 仏. But abbreviations are abbreviations and thus can't be used formally. For example, the US-Japan Defense Treaty is usually called 日米安保条約, but the full name is 日本国とアメリカ合衆国との間の相互協力及び安全保障条約. Nevertheless, English is still 英語｛えいご｝. 獨協 in Dokkyo University (獨協大学)'s name used to stand for 独逸｛ドイツ｝学｛がく｝協会｛きょうかい｝"Society for German Studies", although no longer anymore.
Officially, only the names of countries in the East Asia culture sphere are still written in kanji (except for Vietnam, which has fully abolished Chinese characters). China is 中国, South Korea is 韓国, and North Korea is (北)朝鮮 (北 is to avoid confusion with pre-war Korea). The Chinese and Koreans also write the name of their countries this way when they write hanzi/hanja.
Vietnam was also 越南｛えつなん｝, but now it's just ベトナム due to the disuse of Chinese characters in Vietnam. Similarly, Seoul was called Hanseong (漢城｛かんじょう｝) prior to Japanese colonization and the name was written in Japanese with kanji. After WWII, the Korean government officially changed the city's name to Seoul (without corresponding hanja/Korean Chinese characters), and it's simply written as katakana ソウル now.
Finally, what I could say about the map: if the map has names like 米国 or 仏国, they might just be short-hands. 中国 is always written with kanji. However, if Italy is called 伊太利 instead of イタリア, the map is probably aged.
A final note: never reference China as シナ or 支那, as it is extremely offensive. Only the ultra-nationalistic far-right use it nowadays.