فهرست منبع

超图featureResults查询添加

maxiaoxiao 3 ماه پیش
والد
کامیت
a47bbf3c82
1فایلهای تغییر یافته به همراه49 افزوده شده و 0 حذف شده
  1. 49 0
      website/src/utils/arcMap.js

+ 49 - 0
website/src/utils/arcMap.js

@@ -644,6 +644,10 @@ const arcMap = (function() {
                 console.warn("查询图层为空")
                 return;
             }
+            if(layerParams.type == 'rest'){
+               arcMap.SearchSuperData(layers, data, cl, layerParams);
+               return;
+            }
             var geo = new EsriJSON().writeGeometry(data);
             var geometryType = 'esriGeometryPolygon';
             if (data.getType() == 'Point') {
@@ -699,6 +703,51 @@ const arcMap = (function() {
                 }
             })
         },
+        mapQuery: async function (url, queryObj) {
+            let response = await axios.post(url, queryObj);
+            if (response.data.featureCount > 0) {
+              return response.data;
+            } else {
+              return null;
+            }
+          },
+        calcIserverURI:function(url) {
+            let uriArr = url.split("/");
+            uriArr[5] = uriArr[5].replace("map-", "data-");
+            uriArr[6] = 'rest';
+            uriArr[7] = "data";
+            uriArr[8] = "featureResults.rjson?returnContent=true";
+            return uriArr.join("/");
+          },
+          SearchSuperData:function(layers, data, cl, layerParams){
+            if (!layers) {
+                console.warn("查询图层为空")
+                return;
+            }
+            var pos = [];
+            if (data.getType() == 'Point') {
+                pos = [{y:data.flatCoordinates[1], x:data.flatCoordinates[0]}]
+            }
+            console.log(layers, pos, cl, layerParams,'data');
+            arcMap. mapSelect(pos,layerParams)
+          },
+          async mapSelect(pos, obj) {
+            let queryByIDParameters = {
+              // getFeatureMode: "BUFFER",
+              getFeatureMode: "SPATIAL",
+              spatialQueryMode: "INTERSECT",
+              datasetNames: [`${obj.fwgzkj}:${obj.fwmc}`], //obj.source.split(","),
+              geometry: {
+                parts: [1], // points: [{ y: xy.lat, x: xy.lng }],
+                points: pos,
+                type: "REGION",
+              },
+              bufferDistance: 0.00005,
+              hasGeometry: true,
+            };
+            let url2 = arcMap.calcIserverURI(obj.url);
+            let e = await arcMap.mapQuery(url2, queryByIDParameters);
+          },
         //wfs属性查询
         SearchWfsFilter(layers, filter, cl, layerParams) {
             if (!layers) {