将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());
}