argcis4.0 對(duì)自定義FeatureLayer做空間查詢

async creatMetroLayer() {

const {content } =await getMetroList({

pageNum:1,

pageSize:999999

? ? })

// 構(gòu)建 graphics

? ? const graphics =content.list.map(item => {

return {

geometry: {

type:'point',

x: item.coox,

y: item.cooy,

spatialReference:this.$mapView.spatialReference

? ? ? ? ? ? },

attributes: item,

symbol: {

type:'picture-marker',

url:require('@/assets/images/water-emergency/img/layer-control/layer-img/metroLayer.png'),

width:18,

height:18

? ? ? ? ? ? }

}

})

this.layers.metroLayer =new this.$esri.FeatureLayer({

id:'forecastmetroLayer',

title:'',

visible:false,

source:graphics,

objectIdField:'id',

outFields: ['*'],

fields: [{

name:'objectid',

alias:'',

type:'oid'

? ? ? ? }, {

name:'coox',

alias:'',

type:'string'

? ? ? ? }, {

name:'cooy',

alias:'',

type:'string'

? ? ? ? }],

geometryType:'point',

spatialReference:this.$mapView.spatialReference

? ? })

await this.$mapView.map.add(this.layers.metroLayer)

},


const queryTask6 =this.layers.metroLayer.createQuery()

queryTask6.geometry = circleGeometry

queryTask6.returnGeometry =true

queryTask6.outFields = ['*']

await this.layers.metroLayer.queryFeatures(queryTask6).then(results => {

if (results.features.length) {

results.features.forEach(item => {

item.attributes.typeName ='metro-station-relation'

? ? ? ? ? ? item.symbol = {

type:'picture-marker',

url:require('@/assets/images/water-emergency/img/layer-control/layer-img/metroLayer.png'),

width:30,

height:30

? ? ? ? ? ? }

})

this.circleRelationDataSource.push(...results.features)

}

})

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容