Google Maps APIで地名表記と言語を切り替える方法

(2014/3/31追記)
この記事は開発者向けです。一般ユーザ向けGoogleマップについては、別に簡単な記事を追加しました

9月末頃にいくつかのニュースサイトで「公共機関でグーグルマップ使用禁止」という話題が出て、話題になっていました。
http://www.tokyo-np.co.jp/article/national/news/CK2013092802000212.html
日本海が東海(韓国で使われる名称)と併記されているなど、一部の地名表記が不適切とのことですが、実はGoogle Mapsでは、表記を切り替えることができるので紹介します。

regionパラメータの使い方

Maps APIを使っている場合(より正確にはGoogle Maps Javascript API)場合、APIの読み込み時に"region=JP"というパラメータを与えることで、表記を変更することができます。region=JP指定がない場合とある場合との比較画面はこちらです。

regionというパラメータはあまり紹介されていないパラメータですが、公式サイトのドキュメントでは下記のように書かれています。

If you wish to alter your application to serve different map tiles or bias the application (such as biasing geocoding results towards the region), you can override this default behavior by adding a region parameter to the <script> tag when including the Maps API JavaScript code.

https://developers.google.com/maps/documentation/javascript/basics#Localization

軽く書かれていますが、ここでは「異なるマップタイル(地図画像のこと)」というのが重要で、要するに「指定された国で正当と考えられるような地図画像」が提供されます。
なお、regionの後に指定する文字列はUnicodeのリージョンsubtagというもので、ほぼISO3166-1の国名2文字コードと同じです。日本の場合はJPです。

languageパラメータも指定するべき

regionとは別に、languageというパラメータもあり、これは表示言語を指定するものです。これを指定しないと、たとえばこういうことが起こります(食べログで地図表示した例)。

地名に英語表記が混在していることに気付いたでしょうか?
これは、Maps APIの表示言語は、ブラウザの言語設定を使うようになっているせいです(私は、Google検索や各種ドキュメントを原則として英語で使いたいので、ブラウザの言語設定は英語にしています)。
私に限らず、日本に住んでいる英語ネイティブなユーザなど、ブラウザの設定が日本語以外になっているユーザが、日本語サイトにアクセスすることは起こりえます。したがって、ページ全体をブラウザの設定に応じて出し分けているのでない限り、HTML本体と同じ言語をlanguageパラメータで明示的に指定することをおすすめします。
日本語の場合はjaを指定すればOKですが、他に対応している言語の一覧は、Googleのサイトを確認してください。
なお、regionとlanguageは、それぞれ独立して指定可能で、「日本の基準で、韓国語表記」などの設定も可能です。様々な組合せでマップタイルを作成・提供しているGoogle社の対応はさすがです。

Google Maps Web版でも表記切替は可能

マップタイルはAPI専用ではなく、通常のGoogle Mapsでも同じものを使っているようなので、通常版のWebUIでregionとlanguageを指定できないか試してみました。
結論としては、メニュー操作で切り替えることはできないようですが、URLにglとhlというパラメータを指定すると、切り替えることができるようです(glがregion、hlがlanguageに該当)。
http://maps.google.com/?gl=JP&hl=ja
この機能についての公式ドキュメントは見つからないので、保証はありませんが、サイト中にフレームで組み込んでいて気になる場合は、指定しておくといいかもしれません。
(2014/3/24追記)
2月頃から、「新しいGoogleマップ」という名前で全画面表示になったバージョンが提供されているようですが、このバージョンでもgl、hl共に指定可能です(gl指定は、リダイレクトされて消えますが、地図の表記は正しく変化します)。