findDistrictTask = new FindTask("http://summitgis.summitoh.net:6080/arcgis/rest/services/DOES/MapServer/"); map.on("load", function () { findDistrictParams = new FindParameters(); findDistrictParams.returnGeometry = true; findDistrictParams.layerIds = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]; findDistrictParams.searchFields = ["NAME, UNAME, PUMPID, PIPEID, PlantID, Name"]; findDistrictParams.outSpatialReference = map.spatialReference; }); function doDoesDistrictFind() { findDistrictParams.searchText = dom.byId("doesDistrictText").value; findDistrictTask.execute(findDistrictParams, showResults); } function showResults(results) { var markerSymbol = new SimpleMarkerSymbol(SimpleMarkerSymbol.STYLE_SQUARE, 10, new SimpleLineSymbol(esri.symbol.SimpleLineSymbol.STYLE_SOLID, new dojo.Color([255, 0, 0]), 1), new dojo.Color([0, 255, 0, 0.25])); var lineSymbol = new esri.symbol.SimpleLineSymbol(esri.symbol.SimpleLineSymbol.STYLE_DASH, new dojo.Color([255, 0, 0]), 1); var polygonSymbol = new esri.symbol.SimpleFillSymbol(esri.symbol.SimpleFillSymbol.STYLE_NONE, new esri.symbol.SimpleLineSymbol(esri.symbol.SimpleLineSymbol.STYLE_DASHDOT, new dojo.Color([255, 0, 0]), 2), new dojo.Color([255, 255, 0, 0.25])); map.graphics.clear(); var dataForGrid = []; arrayUtils.map(results, function (result) { var graphic = result.feature; dataForGrid.push([result.layerName, result.foundFieldName, result.value]); switch (graphic.geometry.type) { case "point": graphic.setSymbol(markerSymbol); break; case "polyline": graphic.setSymbol(lineSymbol); break; case "polygon": graphic.setSymbol(polygonSymbol); break; } map.graphics.add(graphic); }); var data = { items: dataForGrid }; var store = new ItemFileReadStore({ data: data }); var grid = registry.byId("grid"); grid.setStore(store); grid.on("rowclick", onRowClickHandler); map.centerAndZoom(center, zoom); } function onRowClickHandler(evt) { var clickedFeature = evt.grid.getItem(evt.rowIndex).OBJECTID; var selectedFeature = arrayUtils.filter(map.graphics.graphics, function (graphic) { return ((graphic.attributes) && graphic.attributes.OBJECTID === clickedFeature); }); var featureExtent = selectedFeature.geometry.getExtent(); var screenpoint = map.toScreen(selectedFeature.geometry.getExtent().getCenter()); var mappoint = map.toMap(screenpoint); map.centerAt(mappoint); if (selectedFeature.geometry.declaredClass == 'esri.geometry.Point') { map.centerAt(selectedFeature.geometry); } else { var featureExtent = selectedFeature.geometry.getExtent(); var screenpoint = map.toScreen(selectedFeature.geometry.getExtent().getCenter()); var mappoint = map.toMap(screenpoint); map.centerAt(mappoint); } } Solved! Go to Solution.
function showResults(results) {
if (results.length > 0) {
map.graphics.clear();
var markerSymbol = new SimpleMarkerSymbol(SimpleMarkerSymbol.STYLE_SQUARE, 10, new SimpleLineSymbol(esri.symbol.SimpleLineSymbol.STYLE_SOLID, new dojo.Color([255, 0, 0]), 1), new dojo.Color([0, 255, 0, 0.25]));
var lineSymbol = new esri.symbol.SimpleLineSymbol(esri.symbol.SimpleLineSymbol.STYLE_DASH, new dojo.Color([255, 0, 0]), 1);
var polygonSymbol = new esri.symbol.SimpleFillSymbol(esri.symbol.SimpleFillSymbol.STYLE_NONE, new esri.symbol.SimpleLineSymbol(esri.symbol.SimpleLineSymbol.STYLE_DASHDOT, new dojo.Color([255, 0, 0]), 2), new dojo.Color([255, 255, 0, 0.25]));
var dataForGrid = [];
arrayUtils.map(results, function (result) {
var graphic = result.feature;
dataForGrid.push([result.layerName, result.foundFieldName, result.value]);
switch (graphic.geometry.type) {
case "point":
graphic.setSymbol(markerSymbol);
break;
case "polyline":
graphic.setSymbol(lineSymbol);
break;
case "polygon":
graphic.setSymbol(polygonSymbol);
break;
}
map.graphics.add(graphic);
return result.feature.attributes;
});
var data = {
items: dataForGrid
};
var store = new ItemFileReadStore({
data: data
});
var grid = registry.byId("grid");
grid.setStore(store);
grid.on("rowclick", onRowClickHandler);
map.centerAndZoom(center, zoom);
} else {
alert("No Utility Feature found! Please enter a valid UNAME, PIPEID, Plant ID, PUMPID or Name.");
}
}
function showResults(results) {
if (results.length > 0) {
map.graphics.clear();
var markerSymbol = new SimpleMarkerSymbol(SimpleMarkerSymbol.STYLE_SQUARE, 10, new SimpleLineSymbol(esri.symbol.SimpleLineSymbol.STYLE_SOLID, new dojo.Color([255, 0, 0]), 1), new dojo.Color([0, 255, 0, 0.25]));
var lineSymbol = new esri.symbol.SimpleLineSymbol(esri.symbol.SimpleLineSymbol.STYLE_DASH, new dojo.Color([255, 0, 0]), 1);
var polygonSymbol = new esri.symbol.SimpleFillSymbol(esri.symbol.SimpleFillSymbol.STYLE_NONE, new esri.symbol.SimpleLineSymbol(esri.symbol.SimpleLineSymbol.STYLE_DASHDOT, new dojo.Color([255, 0, 0]), 2), new dojo.Color([255, 255, 0, 0.25]));
var items = arrayUtils.map(results, function (result) {
var graphic = result.feature;
switch (graphic.geometry.type) {
case "point":
graphic.setSymbol(markerSymbol);
break;
case "polyline":
graphic.setSymbol(lineSymbol);
break;
case "polygon":
graphic.setSymbol(polygonSymbol);
break;
}
map.graphics.add(graphic);
return result.feature.attributes;
});
var data = {
identifier: "OBJECTID",
label: "OBJECTID",
items: items
};
var store = new ItemFileReadStore({
data: data
});
var grid = registry.byId("grid");
grid.setStore(store);
grid.on("rowclick", onRowClickHandler);
map.centerAndZoom(center, zoom);
} else {
alert("No Utility Feature found! Please enter a valid UNAME, PIPEID, Plant ID, PUMPID or Name.");
}
}
findDistrictTask = new FindTask("http://summitgis.summitoh.net:6080/arcgis/rest/services/DOES/MapServer/");
map.on("load", function () {
findDistrictParams = new FindParameters();
findDistrictParams.returnGeometry = true;
findDistrictParams.layerIds = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12];
findDistrictParams.searchFields = ["NAME, UNAME, PUMPID, PIPEID, PlantID, Name"];
findDistrictParams.outSpatialReference = map.spatialReference;
});
function doDoesDistrictFind() {
findDistrictParams.searchText = dom.byId("doesDistrictText").value;
findDistrictTask.execute(findDistrictParams, showResults);
}
function showResults(results) {
if (results.length > 0) {
map.graphics.clear();
var markerSymbol = new SimpleMarkerSymbol(SimpleMarkerSymbol.STYLE_SQUARE, 10, new SimpleLineSymbol(esri.symbol.SimpleLineSymbol.STYLE_SOLID, new dojo.Color([255, 0, 0]), 1), new dojo.Color([0, 255, 0, 0.25]));
var lineSymbol = new esri.symbol.SimpleLineSymbol(esri.symbol.SimpleLineSymbol.STYLE_DASH, new dojo.Color([255, 0, 0]), 1);
var polygonSymbol = new esri.symbol.SimpleFillSymbol(esri.symbol.SimpleFillSymbol.STYLE_NONE, new esri.symbol.SimpleLineSymbol(esri.symbol.SimpleLineSymbol.STYLE_DASHDOT, new dojo.Color([255, 0, 0]), 2), new dojo.Color([255, 255, 0, 0.25]));
var dataForGrid = [];
arrayUtils.map(results, function (result) {
var graphic = result.feature;
dataForGrid.push([result.layerName, result.foundFieldName, result.value]);
switch (graphic.geometry.type) {
case "point":
graphic.setSymbol(markerSymbol);
break;
case "polyline":
graphic.setSymbol(lineSymbol);
break;
case "polygon":
graphic.setSymbol(polygonSymbol);
break;
}
map.graphics.add(graphic);
return result.feature.attributes;
});
var data = {
items: dataForGrid
};
var store = new ItemFileReadStore({
data: data
});
var grid = registry.byId("grid");
grid.setStore(store);
grid.on("rowclick", onRowClickHandler);
map.centerAndZoom(center, zoom);
} else {
alert("No feature found");
}
}
function onRowClickHandler(evt) {
var clickedFeature = evt.grid.getItem(evt.rowIndex).OBJECTID;
var selectedFeature = arrayUtils.filter(map.graphics.graphics, function (graphic) {
return ((graphic.attributes) && graphic.attributes.OBJECTID === clickedFeature);
});
if (selectedFeature.length) {
map.setExtent(selectedFeature[0].geometry.getExtent(), true);
}
}
function onRowClickHandler(evt) {
var clickedFeature = evt.grid.getItem(evt.rowIndex).OBJECTID;
var selectedFeature = arrayUtils.filter(map.graphics.graphics, function (graphic) {
return ((graphic.attributes) && graphic.attributes.OBJECTID === clickedFeature);
});
var featureExtent = selectedFeature.geometry.getExtent();
var screenpoint = map.toScreen(selectedFeature.geometry.getExtent().getCenter());
var mappoint = map.toMap(screenpoint);
map.centerAt(mappoint);
if (selectedFeature.geometry.declaredClass == 'esri.geometry.Point') {
map.centerAt(selectedFeature.geometry);
} else {
var featureExtent = selectedFeature.geometry.getExtent();
var screenpoint = map.toScreen(selectedFeature.geometry.getExtent().getCenter());
var mappoint = map.toMap(screenpoint);
map.centerAt(mappoint);
}
}
function onRowClickHandler(evt) {
var clickedStreet = evt.grid.getItem(evt.rowIndex).ADD_LBL;
var selectedStreet = arrayUtils.filter(map.graphics.graphics, function (graphic) {
return ((graphic.attributes) && graphic.attributes.ADD_LBL === clickedStreet);
});
if ( selectedStreet.length ) {
map.setExtent(selectedStreet[0].geometry.getExtent(), true);
}
}