地図レイヤの表示On/Offを制御
- 前段準備
レイヤの制御を行うオブジェクトを作成するには、NezMapオブジェクトが初期化されている必要があります。
ですので、以下に示すNezMapオブジェクトの初期処理直後のイベント内に定義します。
//メイン地図の初期処理を行った後実行する処理を記述します。
gNezMap.onInitialize = function(){
//この関数内にてNezMapオブジェクトを使用するオブジェクトの定義などを行います。
};
- レイヤを制御するコードを記述します。
//メイン地図の初期処理を行った後実行する処理を記述します。
gNezMap.onInitialize = function(){
//指定したレイヤの表示/非表示を切り替えます。
// -第1パラメータ:処理するレイヤ名称を指定
// -第2パラメータ:true= 表示, false= 非表示
gNezMap.kaMapObj.setLayerVisibility('GMAP', false);
//gNezMap.kaMapObj.setLayerVisibility('GMAP', true);
};
地図レイヤ制御ツリーを表示
- 地図レイヤを制御する為に必要となるJavascriptファイルをインクルードします。
<script language="JavaScript" src="../../kamap/kaLegend.js"></script>
- 地図レイヤ情報を表示する領域を定義します。
<div id="nez_layers" style="position:absolute;left:410px;top:250px;"></div>
- 地図レイヤの情報を表示するオブジェクトを定義します。
var legendOptions = {visibility:true,opacity:true,order:true,query:false};
var akaLegend = new kaLegend(gNezMap.kaMapObj, 'nez_layers', false, legendOptions);
★今回の講座の全ての機能を含んだサンプルを以下に示します。
下記サンプルはこちらからダウンロード出来ます。圧縮ファイル内のファイルをC:¥ms4w¥apps¥nez¥htdocs¥html¥sdjdemoに保存して実行して下さい。
<html>
<head>
<meta HTTP-EQUIV="content-type" CONTENT="text/html; charset=UTF-8">
<title>拡大 縮小 スクロール サンプル</title>
<!--↓↓↓この範囲の宣言は地図表示に必要です-->
<!--[if IE]>
<script type="text/javascript" src="../../javascript/excanvas.js"></script>
<![endif]-->
<script language="JavaScript" src="../../kamap/xhr.js"></script>
<script language="JavaScript" src="../../kamap/kaMap.js"></script>
<script language="JavaScript" src="../../kamap/kaTool.js"></script>
<!--↓↓↓索引図を表示する為の宣言です-->
<script language="JavaScript" src="../../kamap/kaKeymap.js"></script>
<script language="JavaScript" src="../../javascript/Inheritance.js"></script>
<script language="JavaScript" src="../../javascript/Utility.js"></script>
<script language="JavaScript" src="../../javascript/NezMap.js"></script>
<script language="JavaScript" src="../../javascript/NezKaMap.js"></script>
<!--↑↑↑この範囲の宣言は地図表示に必要です-->
<script language="JavaScript" src="../../javascript/NezNavi.js"></script>
<script language="JavaScript" src="../../kamap/kaLegend.js"></script>
<script language="JavaScript">
//メイン地図オブジェクトの宣言です
var gNezMap;
//パンスクロール機能オブジェクトの宣言です
var gCmdScroll;
//onload後に行う処理を記述します
function onInitialize() {
//メイン地図表示用のDivオブジェクトを取得しています
var mapDiv = document.getElementById('nez_map');
//URLの最終サブディレクトリ名を取得しています
//placeは任意の値を使用することも可能ですがC:\ms4w\apps\nez\include\sdjdemo\config.phpファイル
//(下線の部分)の参照先として利用されます
var url = location.href;
var url2 = url.substring(0, url.lastIndexOf('/'));
var place = url2.substring(url2.lastIndexOf('/') + 1, url2.length);
//メイン地図オブジェクトを生成します
//第1パラメータはメイン地図表示用のDivオブジェクトを指定します
//第2パラメータはconfig.phpファイルの参照先(http)を指定します
//第3パラメータはブラウザのアドレス入力欄に座標位置と縮尺を表示するか指定します(未指定時はfalse)
gNezMap = new NezKaMap(mapDiv, place, true);
//メイン地図の初期処理を行った後実行する処理を記述します。
gNezMap.onInitialize = function(){
//レイヤツリーの表示
var legendOptions = {visibility:true,opacity:true,order:true,query:false};
var akaLegend = new kaLegend(gNezMap.kaMapObj, 'nez_layers', false, legendOptions);
//指定したレイヤの表示/非表示を切り替えます。
// -第1パラメータ:処理するレイヤ名称を指定
// -第2パラメータ:true= 表示, false= 非表示
//gNezMap.kaMapObj.setLayerVisibility('GMAP', false);
//gNezMap.kaMapObj.setLayerVisibility('GMAP', true);
};
//メイン地図初期処理を行います
//上記のメイン地図オブジェクトを生成してから実行します
//この処理を行わないと地図が表示されません
gNezMap.initialize();
//パンスクロール機能オブジェクトを生成します
gCmdScroll = new NezNavi(gNezMap);
//パンスクロール機能オブジェクトをメイン地図オブジェクトに設定しています
//パンスクロール機能以外の機能についても同様の手順で利用することが出来ます
//機能を一切使わないのであれば上記オブジェクト生成とsetToolを行う必要はありません
gNezMap.setTool(gCmdScroll);
}
</script>
</head>
<!--style定義のwidth、height、margin、padding、overflowは変更出来ません-->
<!--パンスクロール時にアイコン等が選択状態になってしまうのを防止するためです-->
<!--style定義のbackground-colorは変更可能です-->
<body style="width:100%;height:100%;margin:0px;padding:0px;
overflow:hidden;background-color:#dddddd;" onload="onInitialize();">
<!--メイン地図表示用のDIVタグです-->
<!--style定義のpositionは変更出来ません-->
<!--style定義のleft、top、width、heightを変更すると地図の表示位置、表示サイズが変更出来ます-->
<div id="nez_map" style="position:absolute;left:5px;top:35px;width:400px;height:400px;"></div>
<!--機能ツールバー表示用のDIVタグです-->
<div id="toolbar" style="position:absolute;left:5px;top:5px;height:35px;">
<!--地図の広域表示(縮小)を行います、gNezMap.zoomOut()を実行すると即処理されます-->
<img src="../../kamap/images/icon_set_nomad/tool_zoomout_1.png" alt="縮小"
onclick="gNezMap.zoomOut();"></img>
<!--地図の詳細表示(拡大)を行います、gNezMap.zoomIn()を実行すると即処理されます-->
<img src="../../kamap/images/icon_set_nomad/tool_zoomin_1.png" alt="拡大"
onclick="gNezMap.zoomIn();"></img>
<!--地図の全域表示を行います、gNezMap.zoomToDefault()を実行すると即処理されます-->
<img src="../../kamap/images/icon_set_nomad/tool_zoomfull_1.png" alt="全域表示"
onclick="gNezMap.zoomToDefault();"></img>
</div>
<!--レイヤ制御ツリー表示用のDIVタグです-->
<div id="nez_layers" style="position:absolute;left:410px;top:15px;"></div>
</body>
</html>
実行するとこのような画面が表示されるはずです。

今回はこれで終わりです。