チュートリアル

凡例を調べる

シームレス地質図を表示する」のソースコードにプログラムを追加して、クリックした地点の地質の凡例を表示します。
こちらも元のプログラムに2箇所、いずれも10行程度ずつのプログラムを追加するだけで、凡例を表示する機能を実装できます。

凡例を調べるためのソースコード

凡例を調べるためのソースコードの解説

ソースコードの要点を説明します。
基本的なプログラム構造は、「シームレス地質図を表示する」のソースコードと同じで、44行目から54行目、56行目から65行目の2箇所を追加しています。

44行目から54行目
Google Mapsにおいて、地図をクリックした際に、その地点の緯度経度を取得し、それを使って凡例を調べます。凡例の取得にはfeatureInfoサービスを利用します。
49行目から51行目が、featureInfo問い合わせを実行するためのURLになります。50行目で「basic」の指定がありますが、これはシームレス地質図基本版の凡例情報を取得するためです。ここを「detailed」で書き換えると、詳細版の凡例情報を取得することができます。表示中の地質図と同じ種別で凡例を取得するのがよいでしょう(31行目と50行目)。
51行目の「callback=show」の記述は、凡例を取得したらshow関数を実行しなさい、という意味になります。show関数には、引数としてサーバから返された値が渡されます。
56行目から65行目
凡例問い合わせで受け取った回答を処理するための関数の記述になります。凡例の表示は、最も簡便な、alert関数を使う方法で実装しています。Google Maps JavaScript API v3で用意された関数を使用すれば、クリックした地点にマーカー(目印)を表示し、漫画の吹き出しのように凡例を表示させることもできます(詳しくはGoogle Maps JavaScript API v3のリファレンスをご覧ください)。
凡例問い合わせで返される値は、JavaScriptのオブジェクト形式となっています。オブジェクト中の必要な値のみ(ここではdata.titleとdata.description)を取り出して使います。
なお、海域や日本国外の陸域をクリックした場合は値がセットされませんので、別途判別処理が必要になります(57行目からのif節で判別処理)。
上記ソースコードはこちらから実行出来ます。
凡例を調べる