UNPKG

1.79 kBJavaScriptView Raw
1goog.require('ol.Map');
2goog.require('ol.View');
3goog.require('ol.format.filter');
4goog.require('ol.format.WFS');
5goog.require('ol.format.GeoJSON');
6goog.require('ol.layer.Tile');
7goog.require('ol.layer.Vector');
8goog.require('ol.source.BingMaps');
9goog.require('ol.source.Vector');
10goog.require('ol.style.Stroke');
11goog.require('ol.style.Style');
12
13
14var vectorSource = new ol.source.Vector();
15var 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
25var raster = new ol.layer.Tile({
26 source: new ol.source.BingMaps({
27 imagerySet: 'Aerial',
28 key: 'As1HiMj1PvLPlqc_gtM7AqZfBL8ZL3VrjaS3zIb22Uvb9WKhuJObROC-qUpa81U5'
29 })
30});
31
32var 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// generate a GetFeature request
43var 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// then post the request and add the received features to a layer
56fetch('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});