@arcgis/map-components
Version:
ArcGIS Map Components
2 lines • 9.13 kB
JavaScript
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
import a from"./HFRXDFTO.js";import{p as g}from"./WUJCCZQC.js";export default $arcgis.t(([x,{property:l,subclass:N},p,{watch:T},w,k,I,d,h,{geographicToWebMercator:O},F,{project:z},Q,{b:u,d:y}])=>{var A=!1,D={maximumAge:0,timeout:15e3,enableHighAccuracy:!0};function L(t){let e="geolocation"in navigator;return e||g("warn",t,"Geolocation is not supported by this browser."),e}function G(t){let e=window.isSecureContext;return e||A||(A=!0,g("warn",t,"Geolocation requires a secure origin.")),e}function K(t){return L(t)&&G(t)}function me(t){return t??=D,new Promise((e,i)=>{setTimeout(()=>i(new p("geolocation:timeout","getting the current geolocation position timed out")),t?.timeout??15e3),navigator.geolocation.getCurrentPosition(e,i,t??void 0)})}function H(t,e){let{position:i,view:r}=t,o=J(i)?.coords;if(!o)throw new p("geometry-service:no-coords","Geolocation has no coordinates");let a=V(o);return q(a,r,e)}function J(t){let e=t?.coords||{},i={accuracy:e.accuracy,altitude:e.altitude,altitudeAccuracy:e.altitudeAccuracy,heading:e.heading,latitude:e.latitude,longitude:e.longitude,speed:e.speed,toJSON(){return{}}};return t&&{coords:i,timestamp:t.timestamp,toJSON(){return{}}}}function V({longitude:t,latitude:e,altitude:i}){return new I({longitude:t,latitude:e,z:i||void 0,spatialReference:{wkid:4326}})}async function q(t,e,i){if(!e)return await Promise.resolve(t);let r=e.spatialReference;return r.isWGS84?await Promise.resolve(t):r.isWebMercator?await Promise.resolve(O(t)):d.isLoaded()?await Promise.resolve(d.execute(t,r)):await W(i).then(async o=>{if(!o)throw new p("geometry-service:missing-url","Geometry service URL is missing");let a=new Q({geometries:[t],outSpatialReference:r});return(await z(o,a,i))[0]})}async function W(t){if(h.geometryServiceUrl)return await Promise.resolve(h.geometryServiceUrl);let e=F.getDefault();try{await e.load(t)}catch{}return e.helperServices?.geometry?.url}var j=Object.defineProperty,X=Object.getOwnPropertyDescriptor,c=(t,e,i,r)=>{for(var o=r>1?void 0:r?X(e,i):e,a=t.length-1,s;a>=0;a--)(s=t[a])&&(o=(r?s(e,i,o):s(o))||o);return r&&o&&j(e,i,o),o},B=2500;function f(t){let e={type:"CIMVectorMarker",enable:!0,anchorPoint:{x:0,y:0},anchorPointUnits:"Relative",dominantSizeAxis3D:"Y",size:t==="background"?16:14,billboardMode3D:"FaceNearPlane",frame:{xmin:0,ymin:0,xmax:17,ymax:17},markerGraphics:[{type:"CIMMarkerGraphic",geometry:{rings:[[[8.5,0],[7.02,.13],[5.59,.51],[4.25,1.14],[3.04,1.99],[1.99,3.04],[1.14,4.25],[.51,5.59],[.13,7.02],[0,8.5],[.13,9.98],[.51,11.41],[1.14,12.75],[1.99,13.96],[3.04,15.01],[4.25,15.86],[5.59,16.49],[7.02,16.87],[8.5,17],[9.98,16.87],[11.41,16.49],[12.75,15.86],[13.96,15.01],[15.01,13.96],[15.86,12.75],[16.49,11.41],[16.87,9.98],[17,8.5],[16.87,7.02],[16.49,5.59],[15.86,4.25],[15.01,3.04],[13.96,1.99],[12.75,1.14],[11.41,.51],[9.98,.13],[8.5,0]]]},symbol:{type:"CIMPolygonSymbol",symbolLayers:[{type:"CIMSolidStroke",enable:!0,capStyle:"Round",joinStyle:"Round",lineStyle3D:"Strip",miterLimit:10,width:t==="background"?0:2,color:[255,255,255,255]},{type:"CIMSolidFill",enable:!0,color:t==="background"?[0,0,0,66]:[0,122,194,255]}]}}],scaleSymbolsProportionally:!0,respectFrame:!0};return t==="background"&&(e.offsetX=0,e.offsetY=-1),e}var v={type:"CIMPictureMarker",primitiveName:"headingOverride",enable:!0,anchorPoint:{x:0,y:-.5},anchorPointUnits:"Relative",dominantSizeAxis3D:"Y",size:36,billboardMode3D:"FaceNearPlane",invertBackfaceTexture:!0,scaleX:1,textureFilter:"Picture",url:"data:image/png;base64,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"},Z=f("layer"),Y=f("background"),_=new k({data:{type:"CIMSymbolReference",symbol:{type:"CIMPointSymbol",symbolLayers:[Z,Y,v],angleAlignment:"Map"},primitiveOverrides:[{type:"CIMPrimitiveOverride",primitiveName:"headingOverride",propertyName:"Rotation",valueExpressionInfo:{type:"CIMExpressionInfo",title:"Rotation override",expression:"360 - $feature.heading",returnType:"Default"}},{type:"CIMPrimitiveOverride",primitiveName:"headingOverride",propertyName:"TintColor",valueExpressionInfo:{type:"CIMExpressionInfo",title:"TintColor override",expression:"IIF(IsEmpty($feature.heading), [255, 255, 255, 0], [255, 255, 255, 1])",returnType:"Default"}}]}}),n=class extends x{constructor(){super(...arguments),this._geolocationUsable=!0,this.goToLocationEnabled=!0,this.graphic=new w({symbol:_}),this.rotationEnabled=!0}initialize(){K(this)||(this._geolocationUsable=!1),this.addHandles([T(()=>this.view?.type,()=>this._handleViewTypeChange(),{initial:!0})])}destroy(){this._clearGraphic(),this.view=void 0}_clearGraphic(){let{view:t,graphic:e}=this;t&&e&&t.graphics.remove(e)}_addGraphic(){let{view:t,graphic:e}=this;!t?.graphics||!e||t.graphics.includes(e)||t.graphics.push(e)}_handleViewTypeChange(){v.enable=this.view?.type==="2d"}_getScaleWithinConstraints(t,e){if(!e)return t;if(e.type==="2d"){let{effectiveMaxScale:i,effectiveMinScale:r}=e.constraints;return Math.min(r,Math.max(i,t))}return t}_getScale(t){let{scale:e}=this,i=typeof e=="number"?e:B;return this._getScaleWithinConstraints(i,t)}_getHeading(t,e){let i=e?.spatialReference,r=i?.isWebMercator||i?.isGeographic,o=t.coords?.heading;return!r||typeof o!="number"||Number.isNaN(o)||o<0||o>360?null:o}_addHeading(t){let{heading:e,target:i,view:r}=t;if(!(!r||e===null)){if(r.type==="3d"){i.heading=e;return}r.type==="2d"&&(i.rotation=360-e)}}async _animatePoint(t,e,i,r){let{view:o}=this;if(!this.goToLocationEnabled||!o)return;let a={target:t,scale:e};this.rotationEnabled&&this._addHeading({heading:i,target:a,view:o});let s={signal:r.signal};if(u(s),this.goToOverride&&o)return await this.goToOverride(o,{target:a,options:s});await o.goTo(a,s)}async updatePosition(t,e){try{let i=this.view,r=await H({position:t,view:i},{signal:e.signal}),{graphic:o}=this,{timestamp:a,coords:s}=t,{accuracy:b,altitude:S,altitudeAccuracy:M,latitude:P,longitude:C,speed:E}=s,m=this._getHeading(t,i),R={timestamp:a,accuracy:b,altitude:S,altitudeAccuracy:M,heading:m,latitude:P,longitude:C,speed:E};o&&(o.geometry=r,o.attributes=R);let U=this._getScale(i);await this._animatePoint(r,U,m,e)}catch(i){if(!y(i))throw new p("geolocation-positioning:invalid-point","Cannot position invalid point",{error:i})}return t}};c([l()],n.prototype,"_geolocationUsable",2);c([l()],n.prototype,"geolocationOptions",2);c([l()],n.prototype,"goToLocationEnabled",2);c([l()],n.prototype,"goToOverride",2);c([l({type:w})],n.prototype,"graphic",2);c([l()],n.prototype,"scale",2);c([l()],n.prototype,"rotationEnabled",2);c([l()],n.prototype,"view",2);n=c([N("map-components.geolocation.GeolocationPositioning")],n);var ue=n;return{a:me,b:ue}},"core/Accessor","core/accessorSupport/decorators","core/Error","core/reactiveUtils","Graphic","symbols/CIMSymbol","geometry/Point","geometry/operators/projectOperator","config","geometry/support/webMercatorUtils","portal/Portal","rest/geometryService","rest/support/ProjectParameters",a)