|
||||||||||
| 1 2 3 次のページ | ||||||||||
| 簡単な地図の作成 | ||||||||||
|
データの用意までできたので、いよいよ地図の出力です。地図の出力はとても簡単で、リスト1に掲載するPHPファイルをlist1.phpとして保存し、同階層にリスト2に示す地図画像の設定用のファイル(Mapファイル)をlist2.mapという名前で保存します。 リスト1
1 <?php
リスト2
1 MAP
また、文字を出力するためのフォントの設定ファイルをfontfileという名前で作成し、以下の1行を記述します。なお、フォントのファイルパスが異なる場合は、正しく指定してください。
gothic /usr/share/fonts/ja/TrueType/kochi-gothic-subst.ttf
作成した画像ファイルを保存するディレクトリmapimgを作成して、Webサーバの実行ユーザから書き込みできるように設定します。 以上で終了です。あとは、ブラウザからスクリプトを実行すれば、図1のような地図が出力されるでしょう。 |
||||||||||
| Mapファイル | ||||||||||
|
では前述のリスト2のMapファイルを詳しく見てみましょう。なお、Mapファイルのリファレンスは下記Webサイトから参照できます。 まず、MapファイルはMAPオブジェクトを頂点とした、オブジェクトの階層構造で表現されます。それぞれのオブジェクトはオブジェクト名で開始され、ENDで終了します。リスト2ではMAPオブジェクトが頂点にあり、SCALEBARオブジェクト、LAYERオブジェクトがその下の階層にあります。さらにSCALEBARオブジェクトの下にはLABELオブジェクトがあり、それぞれのLAYERオブジェクトの下にはCLASSオブジェクトがあります。 そして、オブジェクトの開始と終了の間に記述されている内容はオブジェクトの属性を指定しており、その値はPHPで使用するオブジェクトのメンバ変数になります。また、Mapファイルでは属性名やオブジェクト名に関して大文字小文字の区別はありませんが、PHPのメンバ変数は小文字なのでスクリプトから指定する場合は注意が必要です。 これらのオブジェクトで一番重要なのはLAYERオブジェクトです。LAYERオブジェクトが実際の地図を表していると考えて良いでしょう。LAYERオブジェクト内には最低でも1つのCLASSオブジェクトが必要です。Mapファイルでは複数のLAYERオブジェクトを使用することで、レイヤーを重ね合わせた複雑な地図を表示することができます。なお、レイヤーは最大50個までしか使用できません。 リスト2にはレイヤーが1つだけあります。このレイヤーでは全データについて描画を行っています。CLASSオブジェクトでその描画の設定を指定します。ここでは白で塗りつぶし、青で枠を描画しています。RGBの値を変更すれば色を変更することもできます。 SCALEBARオブジェクトは、キロメーター単位のスケールバーを画像の左下に縦10ピクセル、横200 ピクセルで表示するように指定しています。POSITIONは1文字目にU(上)かL(下)、2文字目にはL(左)かC(中央)かR(右)を指定します。色は背景色が黒で、スケールバーが白です。 文字の描画に関する設定はLABELオブジェクトで行います。LABELオブジェクトがないと、文字がMAPオブジェクトのIMAGECOLOR(地図の背景色)と同じ色で描画されてしまい、見えなくなってしまいます。ここではCOLORを指定して文字の色も白に指定します。 |
||||||||||
|
1 2 3 次のページ |
||||||||||
|
|
||||||||||
|
||||||||||
|
|
||||||||||
|
||||||||||
|
|
||||||||||
|
||||||||||


