UNPKG

@arcgis/core

Version:

ArcGIS Maps SDK for JavaScript: A complete 2D and 3D mapping and data visualization API

6 lines (5 loc) 1.87 kB
/* All material copyright ESRI, All Rights Reserved, unless otherwise specified. See https://js.arcgis.com/4.33/esri/copyright.txt for details. */ import e from"../request.js";import{ensureClass as r}from"../core/accessorSupport/ensureType.js";import t from"../geometry/SpatialReference.js";import s from"../portal/Portal.js";import{asValidOptions as o,parseUrl as a}from"./utils.js";import i from"./support/FetchPlaceParameters.js";import n from"./support/PlacesQueryParameters.js";import u from"./support/PlacesQueryResult.js";import{projectWithEngineOrService as p}from"../views/support/projectionUtils.js";async function c(t,s){const a={icon:(t=r(i,t)).icon,requestedFields:t.requestedFields?.join(),token:t.apiKey},n=o(a,s),{data:u}=await e(`${t.url}/places/${t.placeId}`,n);return u}async function l(e,o){const a={radius:(e=r(n,e)).radius};let i=e.point;return i&&!i.spatialReference.isWGS84&&(i=await p(i,t.WGS84,s.getDefault(),o?.signal)),i&&(a.x=i.x,a.y=i.y),f(`${e.url}/places/near-point`,a,e,o)}async function m(e,o){const a={};let i=(e=r(n,e)).extent;return i&&!i.spatialReference.isWGS84&&(i=await p(i,t.WGS84,s.getDefault(),o?.signal)),i&&(a.xmin=i.xmin,a.ymin=i.ymin,a.xmax=i.xmax,a.ymax=i.ymax),f(`${e.url}/places/within-extent`,a,e,o)}async function f(r,t,s,i){t={...t,categoryIds:s.categoryIds?.join(),icon:s.icon,offset:s.offset,pageSize:s.pageSize,searchText:s.searchText,token:s.apiKey};const n=o(t,i),{data:p}=await e(r,n),c=new u({results:p.results}),{pagination:l,links:m}=p;if(l?.nextUrl||m?.next){c.nextQueryParams=s.clone();const e=a(l?.nextUrl||m?.next).query;c.nextQueryParams.offset=Number(e.offset)}if(l?.previousUrl||m?.previous){c.previousQueryParams=s.clone();const e=a(l?.previousUrl||m?.previous).query;c.previousQueryParams.offset=Number(e.offset)}return c}export{c as fetchPlace,l as queryPlacesNearPoint,m as queryPlacesWithinExtent};