openlayser 查詢wfs所有要素

shileimohan發表於2020-11-21

import "ol/ol.css";

import { Tile as TileLayer, Vector as VectorLayer } from "ol/layer";

import XYZ from "ol/source/XYZ";

import OlMap from "ol/Map";

import OlView from "ol/View";

import { get as getProjection } from "ol/proj";

import { addCoordinateTransforms, addProjection, transform } from "ol/proj";

import { Control, defaults as defaultControls } from "ol/control";

import GeoJSON from "ol/format/GeoJSON";

import VectorSource from "ol/source/Vector";

import { Stroke, Style, Icon, Fill } from "ol/style";

import { bbox as bboxStrategy } from "ol/loadingstrategy";

import { WFS } from "ol/format";

import {

  and as andFilter,

  equalTo as equalToFilter,

  like as likeFilter,

} from "ol/format/filter";

import GreaterThanOrEqualTo from 'ol/format/filter/GreaterThanOrEqualTo';

.......

 

//查詢所有

    queryAllFromLayer() {

      let that = this;

      // generate a GetFeature request

      var featureRequest = new WFS().writeGetFeature({

        srsName: "EPSG:3857",

        featureNS: "http://33.13.4.35/smartGIS",

        featurePrefix: "smartGIS",

        featureTypes: ["smartGIS:huanrezhan"],

        outputFormat: "application/json",

        filter: new GreaterThanOrEqualTo('objectid', 0),

      });

 

      // then post the request and add the received features to a layer

      fetch("/api/geoserver/smartGIS/ows?service=WFS", {

        method: "POST",

        body: new XMLSerializer().serializeToString(featureRequest),

      })

        .then(function (response) {

          return response.json();

        })

        .then(function (json) {

          var features = new GeoJSON().readFeatures(json);

          vectorSource.addFeatures(features);

          that.map.getView().fit(vectorSource.getExtent());

        });

    },

 

 

 

相關文章