Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var defaultStyle_polygon_1 = new ol.style.Style({
- fill: new ol.style.Fill({
- color: 'rgba(251, 209, 88, 0.4)'
- }),
- stroke: new ol.style.Stroke({
- color: 'rgba(251, 209, 88, 1)',
- width: 2
- }),
- });
- var openstreetmap = new ol.layer.Tile({
- source: new ol.source.OSM()
- });
- var polygon_source = new ol.source.Vector({
- format: new ol.format.GeoJSON(),
- url: function(extent, resolution, projection) {
- return 'https://fbinter.stadt-berlin.de/fb/wfs/geometry/senstadt/re_schutzgebiete?service=WFS&' +
- 'version=2.0.0&request=GetFeature&typeNames=re_schutzgebiete&' +
- 'outputFormat=application/json&crs=EPSG:25833&' + 'Filter=%3CFilter%3E%3CPropertyIsEqualTo%3E%3CPropertyName%3ESCHUTZSTATUS%3C/PropertyName%3E%3CLiteral%3EFFH-Gebiet%3C/Literal%3E%3C/PropertyIsEqualTo%3E%3C/Filter%3E';
- },
- strategy: ol.loadingstrategy.tile(ol.tilegrid.createXYZ({
- minZoom: 10
- }))
- });
- var polygons = new ol.layer.Vector({
- source: polygon_source,
- style: defaultStyle_polygon_1
- });
- var map = new ol.Map({
- target: 'map',
- layers: [
- openstreetmap,
- polygons
- ],
- view: new ol.View({
- center: ol.proj.transform([13.3833, 52.5167], 'EPSG:4326', 'EPSG:3857', 'EPSG:25833'),
- zoom: 9,
- }),
- });
- var select = new ol.interaction.Select({});
- map.addInteraction(select);
- var search = new ol.control.SearchFeature(
- {
- source: polygon_source,
- property: "GEBIETSNAME"
- });
- map.addControl (search);
- var selectedFeatures = [];
- selectFeaturesGlobal = selectedFeatures;
- search.on('select', function(e)
- { select.getFeatures().clear();
- select.getFeatures().push (e.search);
- var p = e.search.getGeometry().getFirstCoordinate();
- map.getView().animate({
- center: p,
- zoom: 13
- });
- });
- search.on('select', function(event)
- {
- var selectedFeatures = [];
- selectFeaturesGlobal = selectedFeatures;
- map.forEachFeatureAtPixel(event.pixel, function(feature, layer) {
- console.log(feature.get('GEBIETSNAME'));
- selectedFeatures.push(feature);
- });
- if (selectedFeatures.length > 0) {
- var info = [];
- for (var i=0; i<selectedFeatures.length; i++) {
- info.push(selectedFeatures[i].get('GEBIETSNAME'));
- }
- <!-- string aus der Liste erzeugen 'info.join'-->
- document.getElementById('infoDiv').innerHTML = info.join('<br />')
- } else {
- <!-- wenn kein Feature ausgewählt wird, wird nichts angezeigt -->
- document.getElementById('infoDiv').innerHTML = '';
- }
- });
Add Comment
Please, Sign In to add comment