ol ext filters
by Vladimir Vershinin
HTML
<script src="https://unpkg.com/[email protected]/dist/vue.js"></script>
<script src="https://cdn.jsdelivr.net/gh/openlayers/openlayers.github.io@master/en/v5.3.0/build/ol.js"></script>
<script src="https://cdn.rawgit.com/Viglino/ol-ext/master/dist/ol-ext.min.js"></script>
<script src="https://unpkg.com/[email protected]/lib/index.umd.js"></script>
<link rel="stylesheet" href="https://unpkg.com/[email protected]/lib/style.css">
<div id="app">
<div class="panel">
<ul>
<li>
Filter:
<select id="filter" v-model="filter">
<option value="crop">Crop</option>
<option value="mask">Mask</option>
</select>
</li>
<li>
<input id="inner" type="checkbox" v-model="inner" />
<label for="inner">inner</label>
</li>
<li>
Color of the mask:
<select id="color" v-model="color">
<option value="rgba(255,255,255,0.8)">White</option>
<option value="rgba(255,0,0,1)">Red</option>
<option value="rgba(0,255,0,0.2)">Green</option>
<option value="rgba(0,0,255,0.2)">Blue</option>
<option value="rgba(255,255,0,0.2)">Yellow</option>
</select> (mask only)
</li>
</ul>
</div>
<vl-map ref="map">
<vl-view :zoom.sync="zoom" :center.sync="center"></vl-view>
<vl-layer-tile>
<vl-source-stamen layer="watercolor"></vl-source-stamen>
</vl-layer-tile>
<vl-layer-tile ref="osmLayer" @created="osmLayerCreated">
<vl-source-osm></vl-source-osm>
</vl-layer-tile>
</vl-map>
</div>
CSS
html, body, #app {
width: 100%;
height: 100%;
margin: 0;
padding: 0;
}
.panel {
position: absolute;
height: 100%;
width: 100px;
padding: 10px;
background: #fff;
z-index: 1;
}