import MapView from '@arcgis/core/views/MapView'; import IdentifyTask from '@arcgis/core/tasks/IdentifyTask'; import Point from '@arcgis/core/geometry/Point'; import IdentifyParameters from '@arcgis/core/rest/support/IdentifyParameters'; export const queryMap = (view: MapView, options: ClickQuerylistConfig[], mapPoint: Point) => { const queryLlist: Promise<any>[] = []; options.forEach(item => { const { url, sublayers } = item; const identTask = new IdentifyTask({ url, }); const params = new IdentifyParameters({ geometry: mapPoint, tolerance: 6, width: view.width, height: view.height, layerIds: sublayers, mapExtent: view.extent, returnGeometry: true, layerOption: 'all', spatialReference: view.spatialReference, returnFieldName: true, }); let res = identTask.execute(params); queryLlist.push(res); }); return Promise.all(queryLlist); };
mapPoint点击的位置。
ClickQuerylistConfig
interface ClickQuerylistConfig { name: string; url: string; sublayers: number[]; subName?: string; }
name图层名称,url图层地址,sublayers子图层id,subName可以不用写。
最新版的identify写法略有不同
import IdentifyParameters from '@arcgis/core/rest/support/IdentifyParameters'; import * as identify from '@arcgis/core/rest/identify'; export const queryMap = (view: MapView, options: ClickQuerylistConfig[], mapPoint: Point) => { const queryLlist: Promise<any>[] = []; options.forEach(item => { const { url, sublayers } = item; const params = new IdentifyParameters({ geometry: mapPoint, tolerance: 6, width: view.width, height: view.height, layerIds: sublayers, mapExtent: view.extent, returnGeometry: true, layerOption: 'all', spatialReference: view.spatialReference, returnFieldName: true, }); let res = identify.identify(url, params); queryLlist.push(res); }); return Promise.all(queryLlist); };
发表评论
侧栏公告
寄语
譬如朝露博客是一个分享前端知识的网站,联系方式11523518。
热评文章
标签列表
热门文章
友情链接