openlayers 添加 arcgis rest feature server 使用 vue cli+jsonp

引用jsonp

安装

npm i jsonp --save-dev

 引用

import jsonp from 'jsonp'

调用

const vectorSource = new VectorSource({
  loader: function (extent, resolution, projection, success, failure) {
    console.log(projection)
     const url =
       serviceUrl +
       layer +
    '/query/?f=json&where=1=1&geometryType=esriGeometryEnvelope&returnGeometry=true&spatialRel=esriSpatialRelIntersects'
     '&inSR=4525&outFields=*&outSR=4525';
    const url = serviceUrl + layer + '/query';
    var params = {
      "f": "json",
      //"where": "OBJECTID='10718'",
      "where": "1=1",
      "returnGeometry": "true",
      "outFields": "*",
      "inSR": 4525,
      "outSR": 4525
    }
     jsonp(
       url /* this.api.baseURL+url+"?aptId=CB23E3EE796B425EB2A6CC867BF79314" */,
       null,
       (err, data) => {
         if (err) {
           alert(err);
           failure();
         } else {
           // dataProjection will be read from document
           const features = esrijsonFormat.readFeatures(data);
           if (features.length > 0) {
             vectorSource.addFeatures(features);
           }
           success(features);
         }
       }
     );
  },
});
原文地址:https://www.cnblogs.com/GiserPage/p/15075893.html