Add a basic layer selector in bing-maps example

This commit is contained in:
Frederic Junod
2013-03-13 13:36:31 +01:00
parent edc1bd513b
commit 02e6937db3
2 changed files with 27 additions and 8 deletions

View File

@@ -28,6 +28,12 @@
<div class="row-fluid"> <div class="row-fluid">
<div class="span12"> <div class="span12">
<div id="map" class="map"></div> <div id="map" class="map"></div>
<select id="layer-select">
<option value="Aerial">Aerial</option>
<option value="AerialWithLabels" selected>Aerial with labels</option>
<option value="Road">Road</option>
</select>
</div> </div>
</div> </div>
@@ -46,6 +52,7 @@
</div> </div>
<script src="jquery.min.js" type="text/javascript"></script>
<script src="loader.js?id=bing-maps" type="text/javascript"></script> <script src="loader.js?id=bing-maps" type="text/javascript"></script>
</body> </body>

View File

@@ -7,15 +7,19 @@ goog.require('ol.projection');
goog.require('ol.source.BingMaps'); goog.require('ol.source.BingMaps');
var map = new ol.Map({ var styles = ['Road', 'Aerial', 'AerialWithLabels'];
layers: [ var layers = [];
new ol.layer.TileLayer({ for (var i = 0; i < styles.length; ++i) {
layers.push(new ol.layer.TileLayer({
visible: false,
source: new ol.source.BingMaps({ source: new ol.source.BingMaps({
key: 'AgtFlPYDnymLEe9zJ5PCkghbNiFZE9aAtTy3mPaEnEBXqLHtFuTcKoZ-miMC3w7R', key: 'AgtFlPYDnymLEe9zJ5PCkghbNiFZE9aAtTy3mPaEnEBXqLHtFuTcKoZ-miMC3w7R',
style: 'AerialWithLabels' style: styles[i]
}) })
}) }));
], }
var map = new ol.Map({
layers: layers,
renderers: ol.RendererHints.createFromQueryData(), renderers: ol.RendererHints.createFromQueryData(),
target: 'map', target: 'map',
view: new ol.View2D({ view: new ol.View2D({
@@ -24,3 +28,11 @@ var map = new ol.Map({
zoom: 8 zoom: 8
}) })
}); });
$('#layer-select').change(function() {
var style = $(this).find(':selected').val();
for (var i = 0; i < layers.length; ++i) {
layers[i].setVisible(styles[i] == style);
}
});
$('#layer-select').trigger('change');