「16-5 レイヤを操作する」で作成したマップ(16-5_ol3-1.html)にレイヤを追加します。
1 NetBeans を起動します。
2 「新規ファイル」ボタンをクリック。
3 「新規ファイル」ダイアログで「カテゴリ」を「HTML5」ファイルタイプ」を「HTMLファイル」を選択して「次>」ボタンをクリック。
「index.html」
<html> <head> <title>TODO supply a title</title> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> </head>
<body> <div>TODO write content</div> <div><a href="./13-3_ol3-1.html">13-3_ol3-1.html</a></div> <div><a href="./14-7_ol3-1.html">14-7_ol3-1.html</a></div> <div><a href="./15-3_ol3-1.html">15-3_ol3-1.html</a></div> <div><a href="./16-3_ol3-1.html">16-3_ol3-1.html</a></div> <div><a href="./16-4_ol3-1.html">16-4_ol3-1.html</a></div> <div><a href="./16-5_ol3-1.html">16-5_ol3-1.html</a></div> <div><a href="./18-5_ol3-1.html">18-5_ol3-1.html</a></div> </body> </html>
「18-5_ol3-1.html」
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>あきる野市地図3 Layer group example</title> <script src="https://code.jquery.com/jquery-1.11.2.min.js"></script> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css"> <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/ol3/3.7.0/ol.css" type="text/css"> <script src="https://cdnjs.cloudflare.com/ajax/libs/ol3/3.7.0/ol.js"></script>
<style> #layertree li > span { cursor: pointer; } </style> </head>
<body> <div class="container-fluid">
<div class="row-fluid"> <div class="span6"> <div id="map" class="map"></div> </div> <div id="layertree" class="span6"> <h5>Click on layer nodes below to change their properties.</h5>
<ul> <li><span>地理院地図 写真 layer</span> <fieldset id="layer0"> <label class="checkbox" for="visible0"> <input id="visible0" class="visible" type="checkbox"/>visibility </label> <label>opacity</label> <input class="opacity" type="range" min="0" max="1" step="0.01"/> <label>hue</label> <input class="hue" type="range" min="-3.141592653589793" max="3.141592653589793" step="0.01"/> <label>saturation</label> <input class="saturation" type="range" min="0" max="5" step="0.01"/> <label>contrast</label> <input class="contrast" type="range" min="0" max="2" step="0.01"/> <label>brightness</label> <input class="brightness" type="range" min="-1" max="1" step="0.01"/> </fieldset> </li>
<li> <span>Layer group</span> <fieldset id="layer1"> <label class="checkbox" for="visible1"> <input id="visible1" class="visible" type="checkbox"/>visibility </label> <label>opacity</label> <input class="opacity" type="range" min="0" max="1" step="0.01"/> <label>hue</label> <input class="hue" type="range" min="-3.141592653589793" max="3.141592653589793" step="0.01"/> <label>saturation</label> <input class="saturation" type="range" min="0" max="5" step="0.01"/> <label>contrast</label> <input class="contrast" type="range" min="0" max="2" step="0.01"/> <label>brightness</label> <input class="brightness" type="range" min="-1" max="1" step="0.01"/> </fieldset>
<ul> <li> <span>東京都 国土数値情報 layer</span> <fieldset id="layer10"> <label class="checkbox" for="visible10"> <input id="visible10" class="visible" type="checkbox"/>visibility </label> <label>opacity</label> <input class="opacity" type="range" min="0" max="1" step="0.01"/> <label>hue</label> <input class="hue" type="range" min="-3.141592653589793" max="3.141592653589793" step="0.01"/> <label>saturation</label> <input class="saturation" type="range" min="0" max="5" step="0.01"/> <label>contrast</label> <input class="contrast" type="range" min="0" max="2" step="0.01"/> <label>brightness</label> <input class="brightness" type="range" min="-1" max="1" step="0.01"/> </fieldset> </li>
<li> <span>あきる野市 基盤地図情報 layer</span> <fieldset id="layer11"> <label class="checkbox" for="visible11"> <input id="visible11" class="visible" type="checkbox"/>visibility </label> <label>opacity</label> <input class="opacity" type="range" min="0" max="1" step="0.01"/> <label>hue</label> <input class="hue" type="range" min="-3.141592653589793" max="3.141592653589793" step="0.01"/> <label>saturation</label> <input class="saturation" type="range" min="0" max="5" step="0.01"/> <label>contrast</label> <input class="contrast" type="range" min="0" max="2" step="0.01"/> <label>brightness</label> <input class="brightness" type="range" min="-1" max="1" step="0.01"/> </fieldset> </li> </ul> </li>
<li> <span>町字界線 基盤地図情報 layer</span> <fieldset id="layer12"> <label class="checkbox" for="visible11"> <input id="visible11" class="visible" type="checkbox"/>visibility </label> <label>opacity</label> <input class="opacity" type="range" min="0" max="1" step="0.01"/> <label>hue</label> <input class="hue" type="range" min="-3.141592653589793" max="3.141592653589793" step="0.01"/> <label>saturation</label> <input class="saturation" type="range" min="0" max="5" step="0.01"/> <label>contrast</label> <input class="contrast" type="range" min="0" max="2" step="0.01"/> <label>brightness</label> <input class="brightness" type="range" min="-1" max="1" step="0.01"/> </fieldset> </li>
<li> <span>町字界点 基盤地図情報 layer</span> <fieldset id="layer13"> <label class="checkbox" for="visible11"> <input id="visible11" class="visible" type="checkbox"/>visibility </label> <label>opacity</label> <input class="opacity" type="range" min="0" max="1" step="0.01"/> <label>hue</label> <input class="hue" type="range" min="-3.141592653589793" max="3.141592653589793" step="0.01"/> <label>saturation</label> <input class="saturation" type="range" min="0" max="5" step="0.01"/> <label>contrast</label> <input class="contrast" type="range" min="0" max="2" step="0.01"/> <label>brightness</label> <input class="brightness" type="range" min="-1" max="1" step="0.01"/> </fieldset> </li>
<li> <span>建築物 基盤地図情報 layer</span> <fieldset id="layer14"> <label class="checkbox" for="visible11"> <input id="visible11" class="visible" type="checkbox"/>visibility </label> <label>opacity</label> <input class="opacity" type="range" min="0" max="1" step="0.01"/> <label>hue</label> <input class="hue" type="range" min="-3.141592653589793" max="3.141592653589793" step="0.01"/> <label>saturation</label> <input class="saturation" type="range" min="0" max="5" step="0.01"/> <label>contrast</label> <input class="contrast" type="range" min="0" max="2" step="0.01"/> <label>brightness</label> <input class="brightness" type="range" min="-1" max="1" step="0.01"/> </fieldset> </li>
<li> <span>自然公園 国土数値情報 layer</span> <fieldset id="layer15"> <label class="checkbox" for="visible11"> <input id="visible11" class="visible" type="checkbox"/>visibility </label> <label>opacity</label> <input class="opacity" type="range" min="0" max="1" step="0.01"/> <label>hue</label> <input class="hue" type="range" min="-3.141592653589793" max="3.141592653589793" step="0.01"/> <label>saturation</label> <input class="saturation" type="range" min="0" max="5" step="0.01"/> <label>contrast</label> <input class="contrast" type="range" min="0" max="2" step="0.01"/> <label>brightness</label> <input class="brightness" type="range" min="-1" max="1" step="0.01"/> </fieldset> </li>
<li> <span>特別地域 国土数値情報 layer</span> <fieldset id="layer16"> <label class="checkbox" for="visible11"> <input id="visible11" class="visible" type="checkbox"/>visibility </label> <label>opacity</label> <input class="opacity" type="range" min="0" max="1" step="0.01"/> <label>hue</label> <input class="hue" type="range" min="-3.141592653589793" max="3.141592653589793" step="0.01"/> <label>saturation</label> <input class="saturation" type="range" min="0" max="5" step="0.01"/> <label>contrast</label> <input class="contrast" type="range" min="0" max="2" step="0.01"/> <label>brightness</label> <input class="brightness" type="range" min="-1" max="1" step="0.01"/> </fieldset> </li>
<li> <span>特別保護地域 国土数値情報 layer</span> <fieldset id="layer17"> <label class="checkbox" for="visible11"> <input id="visible11" class="visible" type="checkbox"/>visibility </label> <label>opacity</label> <input class="opacity" type="range" min="0" max="1" step="0.01"/> <label>hue</label> <input class="hue" type="range" min="-3.141592653589793" max="3.141592653589793" step="0.01"/> <label>saturation</label> <input class="saturation" type="range" min="0" max="5" step="0.01"/> <label>contrast</label> <input class="contrast" type="range" min="0" max="2" step="0.01"/> <label>brightness</label> <input class="brightness" type="range" min="-1" max="1" step="0.01"/> </fieldset> </li> </ul> </div> </div>
</div> <script> var extent = [15488640, 4257688, 15510235, 4270370];
var map = new ol.Map({ layers: [ new ol.layer.Tile({ extent: extent, source: new ol.source.XYZ({ url: 'http://cyberjapandata.gsi.go.jp/xyz/ort/{z}/{x}/{y}.jpg', attributions: [new ol.Attribution({ html: '<a href="http://www.gsi.go.jp/kikakuchousei/' + 'kikakuchousei40182.html" target="_blank">' + '国土地理院 地理院地図</a>' })], }) }),
new ol.layer.Group({ layers: [ new ol.layer.Tile({ extent: extent, source: new ol.source.TileWMS({ url: 'http://localhost:8080/geoserver/wms', attributions: [new ol.Attribution({ html: '国土数値情報' })], params: { 'LAYERS': 'tokyo_kuiki', 'SRS': 'EPSG:4326', 'TILED': true, 'VERSION': '1.1.1' }, serverType: 'geoserver', }) }),
new ol.layer.Tile({ extent: extent, source: new ol.source.TileWMS({ url: 'http://localhost:8080/geoserver/wms', attributions: [new ol.Attribution({ html: '<a href="http://www.gsi.go.jp/kikakuchousei/' + 'kikakuchousei40182.html" target="_blank">' + '国土地理院 基盤地図情報</a>' })], params: { 'LAYERS': 'akiruno_kukaku-2', 'SRS': 'EPSG:2451', 'TILED': true, 'VERSION': '1.1.1' }, serverType: 'geoserver', }) }),
new ol.layer.Tile({ extent: extent, source: new ol.source.TileWMS({ url: 'http://localhost:8080/geoserver/wms', params: { 'LAYERS': 'choazakaisen', 'SRS': 'EPSG:2451', 'TILED': true, 'VERSION': '1.1.1' }, serverType: 'geoserver', }) }),
new ol.layer.Tile({ extent: extent, source: new ol.source.TileWMS({ url: 'http://localhost:8080/geoserver/wms', params: { 'LAYERS': 'choazakaiten', 'SRS': 'EPSG:2451', 'TILED': true, 'VERSION': '1.1.1' }, serverType: 'geoserver', }) }),
new ol.layer.Tile({ extent: extent, source: new ol.source.TileWMS({ url: 'http://localhost:8080/geoserver/wms', params: { 'LAYERS': 'kenchikubutsu', 'SRS': 'EPSG:2451', 'TILED': true, 'VERSION': '1.1.1' }, serverType: 'geoserver', }) }),
new ol.layer.Tile({ extent: extent, source: new ol.source.TileWMS({ url: 'http://localhost:8080/geoserver/wms', params: { 'LAYERS': 'shizenkoen', 'SRS': 'EPSG:4326', 'TILED': true, 'VERSION': '1.1.1' }, serverType: 'geoserver', }) }),
new ol.layer.Tile({ extent: extent, source: new ol.source.TileWMS({ url: 'http://localhost:8080/geoserver/wms', params: { 'LAYERS': 'tokubetsu', 'SRS': 'EPSG:4326', 'TILED': true, 'VERSION': '1.1.1' }, serverType: 'geoserver', }) }),
new ol.layer.Tile({ extent: extent, source: new ol.source.TileWMS({ url: 'http://localhost:8080/geoserver/wms', params: { 'LAYERS': 'tokubetsuhogo', 'SRS': 'EPSG:4326', 'TILED': true, 'VERSION': '1.1.1' }, serverType: 'geoserver', }) }) ] }) ],
controls: ol.control.defaults({ attributionOptions: /** @type {olx.control.AttributionOptions} */ ({ collapsible: false }) }).extend([ new ol.control.ScaleLine() ]), target: 'map', view: new ol.View({ center: [15499432, 4264029], extent: extent, zoom: 12 }) });
function bindInputs(layerid, layer) { var visibilityInput = $(layerid + ' input.visible'); visibilityInput.on('change', function() { layer.setVisible(this.checked); }); visibilityInput.prop('checked', layer.getVisible());
$.each(['opacity', 'hue', 'saturation', 'contrast', 'brightness'], function(i, v) { var input = $(layerid + ' input.' + v); input.on('input change', function() { layer.set(v, parseFloat(this.value)); }); input.val(String(layer.get(v))); } ); }
map.getLayers().forEach(function(layer, i) { bindInputs('#layer' + i, layer); if (layer instanceof ol.layer.Group) { layer.getLayers().forEach(function(sublayer, j) { bindInputs('#layer' + i + j, sublayer); }); } });
$('#layertree li > span').click(function() { $(this).siblings('fieldset').toggle(); }).siblings('fieldset').hide();
</script> </body> </html>
0 件のコメント:
コメントを投稿