当前位置: 代码迷 >> 综合 >> FeatureLayer setDefinitionExpression 根据属性显示指定部分
  详细解决方案

FeatureLayer setDefinitionExpression 根据属性显示指定部分

热度:71   发布时间:2023-10-27 01:50:20.0

将Feature图层加入地图,设定visible为false:

DBSFeature1 = new FeatureLayer("http://192.168.0.143:6080/arcgis/rest/services/BS/MeasureArea_F/MapServer/1", {mode: FeatureLayer.MODE_ONDEMAND,id: "计量分区+",visible: false,outFields: ["*"],infoTemplate: infoTemplateDBS});map.addLayer(DBSFeature1);DBSFeature0 = new FeatureLayer("http://192.168.0.143:6080/arcgis/rest/services/BS/MeasureArea_F/MapServer/0", {mode: FeatureLayer.MODE_ONDEMAND,id: "计量分区",visible: false,outFields: ["*"],infoTemplate: infoTemplateDBS});map.addLayer(DBSFeature0);

显示图层的函数,并找到中心点:

function DBSLineNewNew(tmp) {DBSFeature1.setDefinitionExpression("MArea_ID = '" + tmp + "'");DBSFeature1.show();DBSFeature0.setDefinitionExpression("MArea_ID = '" + tmp + "'");DBSFeature0.show();var queryTask = new esri.tasks.QueryTask("http://192.168.0.143:6080/arcgis/rest/services/BS/MeasureArea_F/MapServer/0");var query = new esri.tasks.Query();query.outSpatialReference = map.spatialReference;query.where = "MArea_ID = '" + tmp + "'";query.returnGeometry = true;query.outFields = ["*"];queryTask.execute(query, getCenter);
}

地图移动到中心点

function getCenter(featureSet) {if (featureSet.features.length == 0) {$.messager.alert('获取失败!', '没有元素!', 'warning');return;}var centerPoint = featureSet.features[0].geometry.getExtent().getCenter();var cPoint = new esri.geometry.Point();cPoint.x = centerPoint.x;cPoint.y = centerPoint.y;cPoint.spatialReference = map.spatialReference;//map.centerAndZoom(cPoint, 2);map.setExtent(featureSet.features[0].geometry.getExtent());
}