OpenLayersのWMSGetFeatureInfo機能を活用

Share on Facebook0Tweet about this on TwitterShare on Google+0Share on LinkedIn0

OpenLayersを利用したMapサイトを作るのは大変と思いますが、ここでは簡単な活用できる技を紹介します。

「WMSGetFeatureInfo機能を活用してPointからLineを作る。」

基本の環境は下記の仕様です。

それからMapの初期化を行います。下記のコードを参考して下さい。

基本的にはOpenLayersのExampleコードは同じです。

OpenLayers.ControlのWMSGetFeatureInfoを利用して新しいLineを追加します。

上のコードを見るとWMSGetFeatureInfoのgetfeatureinfoイベントでクッリクした所のデータを貰います。

そのデータを元にFeatureデータを作ります。あるデータの中で「idがpointが入ってるデータ」をFeature化します。

transformはDBに保存したデータ形式が地図で使ってる形式が違うから変化するための仕業です。

コードによると、保存してあるPointデータを基にLineデータを作ります。同じPointを選択すると選択解除します。

上の説明を地図で見たら下の様になります。

初期化した地図の画面がこちらです。

1

そして「selelctControl.activate();」してから下記のデータを貰います。

2

最初にPointを選択した画面です。

3

二番目のPointを選択した画面です。

4

5

このデータはPointからPointまでのルートを作るためのコードですが、GoogleやYahooみたいに、

ルートをちゃんと計算してくれないですが、自分でPointを入力すればいいルートは作れると思います。