1 | goog.require('ol.Map');
|
2 | goog.require('ol.View');
|
3 | goog.require('ol.format.filter');
|
4 | goog.require('ol.format.WFS');
|
5 | goog.require('ol.format.GeoJSON');
|
6 | goog.require('ol.layer.Tile');
|
7 | goog.require('ol.layer.Vector');
|
8 | goog.require('ol.source.BingMaps');
|
9 | goog.require('ol.source.Vector');
|
10 | goog.require('ol.style.Stroke');
|
11 | goog.require('ol.style.Style');
|
12 |
|
13 |
|
14 | var vectorSource = new ol.source.Vector();
|
15 | var vector = new ol.layer.Vector({
|
16 | source: vectorSource,
|
17 | style: new ol.style.Style({
|
18 | stroke: new ol.style.Stroke({
|
19 | color: 'rgba(0, 0, 255, 1.0)',
|
20 | width: 2
|
21 | })
|
22 | })
|
23 | });
|
24 |
|
25 | var raster = new ol.layer.Tile({
|
26 | source: new ol.source.BingMaps({
|
27 | imagerySet: 'Aerial',
|
28 | key: 'As1HiMj1PvLPlqc_gtM7AqZfBL8ZL3VrjaS3zIb22Uvb9WKhuJObROC-qUpa81U5'
|
29 | })
|
30 | });
|
31 |
|
32 | var map = new ol.Map({
|
33 | layers: [raster, vector],
|
34 | target: document.getElementById('map'),
|
35 | view: new ol.View({
|
36 | center: [-8908887.277395891, 5381918.072437216],
|
37 | maxZoom: 19,
|
38 | zoom: 12
|
39 | })
|
40 | });
|
41 |
|
42 |
|
43 | var featureRequest = new ol.format.WFS().writeGetFeature({
|
44 | srsName: 'EPSG:3857',
|
45 | featureNS: 'http://openstreemap.org',
|
46 | featurePrefix: 'osm',
|
47 | featureTypes: ['water_areas'],
|
48 | outputFormat: 'application/json',
|
49 | filter: ol.format.filter.and(
|
50 | ol.format.filter.like('name', 'Mississippi*'),
|
51 | ol.format.filter.equalTo('waterway', 'riverbank')
|
52 | )
|
53 | });
|
54 |
|
55 |
|
56 | fetch('https://ahocevar.com/geoserver/wfs', {
|
57 | method: 'POST',
|
58 | body: new XMLSerializer().serializeToString(featureRequest)
|
59 | }).then(function(response) {
|
60 | return response.json();
|
61 | }).then(function(json) {
|
62 | var features = new ol.format.GeoJSON().readFeatures(json);
|
63 | vectorSource.addFeatures(features);
|
64 | map.getView().fit(vectorSource.getExtent());
|
65 | });
|