You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
10 lines
3.6 KiB
10 lines
3.6 KiB
// All material copyright Esri, All Rights Reserved, unless otherwise specified. |
|
// See https://js.arcgis.com/4.30/esri/copyright.txt for details. |
|
//>>built |
|
define("exports ../../config ../../kernel ../../PopupTemplate ../../request ../../core/lang ../../core/urlUtils ../../geometry/SpatialReference ../../geometry/support/aaBoundingBox ../../geometry/support/boundsUtils ../../renderers/support/jsonUtils ../../rest/support/FeatureSet".split(" "),function(n,x,y,z,A,q,B,C,l,r,D,E){function v(d,c,a){a.forEach(b=>{d.set(b.attributes[c],b)})}function F(d,c){let a=void 0;c.some(b=>b.id===d?(a=b,!0):!1);return a}function w(d){const c=l.create(l.negativeInfinity), |
|
a=l.create(l.negativeInfinity);for(const b of d){if(b.polygons?.featureSet?.features)for(const f of b.polygons.featureSet.features)r.getBoundsXYZ(c,f.geometry),l.expandWithAABB(a,c);if(b.polylines?.featureSet?.features)for(const f of b.polylines.featureSet.features)r.getBoundsXYZ(c,f.geometry),l.expandWithAABB(a,c);if(b.points?.featureSet?.features)for(const f of b.points.featureSet.features)r.getBoundsXYZ(c,f.geometry),l.expandWithAABB(a,c);if(b.mapImages)for(const f of b.mapImages)r.getBoundsXYZ(c, |
|
f.extent),l.expandWithAABB(a,c)}return l.equals(a,l.negativeInfinity)?void 0:{xmin:a[0],ymin:a[1],zmin:a[2],xmax:a[3],ymax:a[4],zmax:a[5],spatialReference:C.WGS84}}const G={esriGeometryPoint:"points",esriGeometryPolyline:"polylines",esriGeometryPolygon:"polygons"};n.computeExtent=w;n.fetchService=function(d,c,a,b){const f=y.id?.findCredential(d);d=B.addQueryParameters(d,{token:f?.token});return A(x.kmlServiceUrl,{query:{url:d,model:"simple",folders:"",refresh:0!==a?!0:void 0,outSR:JSON.stringify(c)}, |
|
responseType:"json",signal:b})};n.getGraphics=async function(d){var c=E.fromJSON(d.featureSet).features;const a=D.fromJSON(d.layerDefinition.drawingInfo.renderer);d=z.fromJSON(d.popupInfo);const b=[];for(const f of c)c=await a.getSymbolAsync(f),f.symbol=c,f.popupTemplate=d,f.visible=!0,b.push(f);return b};n.parseKML=function(d){const c=d.folders||[],a=c.slice(),b=new Map,f=new Map,p=new Map,t=new Map,u=new Map,h={esriGeometryPoint:f,esriGeometryPolyline:p,esriGeometryPolygon:t};(d.featureCollection?.layers|| |
|
[]).forEach(e=>{var g=q.clone(e);g.featureSet.features=[];const k=e.featureSet.geometryType;b.set(k,g);g=e.layerDefinition.objectIdField;"esriGeometryPoint"===k?v(f,g,e.featureSet.features):"esriGeometryPolyline"===k?v(p,g,e.featureSet.features):"esriGeometryPolygon"===k&&v(t,g,e.featureSet.features)});d.groundOverlays&&d.groundOverlays.forEach(e=>{u.set(e.id,e)});c.forEach(e=>{e.networkLinkIds.forEach(g=>{var k=e.id;if(g=F(g,d.networkLinks))g.parentFolderId=k,g.networkLink=g;g&&a.push(g)})});a.forEach(e=> |
|
{if(e.featureInfos){e.points=q.clone(b.get("esriGeometryPoint"));e.polylines=q.clone(b.get("esriGeometryPolyline"));e.polygons=q.clone(b.get("esriGeometryPolygon"));e.mapImages=[];for(const k of e.featureInfos)switch(k.type){case "esriGeometryPoint":case "esriGeometryPolyline":case "esriGeometryPolygon":var g=h[k.type].get(k.id);g&&e[G[k.type]]?.featureSet.features.push(g);break;case "GroundOverlay":(g=u.get(k.id))&&e.mapImages.push(g)}e.fullExtent=w([e])}});const m=w(a);return{folders:c,sublayers:a, |
|
extent:m}};n.sublayersFromJSON=function(d,c,a=null,b=[]){const f=[],p={},t=c.sublayers,u=new Set(c.folders.map(h=>h.id));t.forEach(h=>{const m=new d;a?m.read(h,a):m.read(h);b.length&&u.has(m.id)&&(m.visible=b.includes(m.id));p[h.id]=m;null!=h.parentFolderId&&-1!==h.parentFolderId?(h=p[h.parentFolderId],h.sublayers||(h.sublayers=[]),h.sublayers?.unshift(m)):f.unshift(m)});return f};Object.defineProperty(n,Symbol.toStringTag,{value:"Module"})}); |