function onDrawEnd(extent){
navToolbar.deactivate();
//id = "control";
//select features within the draw extent
var query = new esri.tasks.Query();
query.geometry = extent;
featureLayer.selectFeatures(query,esri.layers.FeatureLayer.SELECTION_NEW,function(features,selectionMethod){
//add selected features to the grid
if (document.getElementById("contSel").checked){
showPointNameGrid();
} else if(document.getElementById("survSel").checked){
showSurveysNameGrid();
}
var items = dojo.map(features,function(feature){
return feature.attributes;
});
if(document.getElementById("contSel").checked){
searchType="selControl2";
var data = {identifier:"POINT_NAME", items:items};
var store = new dojo.data.ItemFileReadStore({data:data});
var grid = dijit.byId('grid4');
grid.setStore(store);
featureLayer.selectFeatures.clear;
} else if (document.getElementById("survSel").checked){
var data = {identifier:"OBJECTID", items:items};
var store = new dojo.data.ItemFileReadStore({data:data});
var grid = dijit.byId('grid5');
grid.setStore(store);
featureLayer.selectFeatures.clear;
}
});
function toggleSelect (el)
{
navToolbar.deactivate();
alert(el.checked);
if (el.checked)
{
switch (el.id)
{
case 'survSel':
searchType="selSurveys2";
document.getElementById('contSel').checked = false;
featureLayerUrl = "http://slcarcgisdev1/SLCOGIS/rest/services/public/SurveyorFS/FeatureServer/2";
featureLayer = new esri.layers.FeatureLayer(featureLayerUrl,{
mode:esri.layers.FeatureLayer.MODE_ONDEMAND,
outFields:["OBJECTID"]
});
featureLayer.setSelectionSymbol(new esri.symbol.SimpleFillSymbol().setColor(new dojo.Color([255,255,0,0.5])));
map.addLayer(featureLayer);
break;
case 'contSel':
searchType="selControl2";
document.getElementById('survSel').checked = false;
featureLayerUrl = "http://slcarcgisdev1/SLCOGIS/rest/services/public/SurveyorFS/FeatureServer/0";
featureLayer = new esri.layers.FeatureLayer(featureLayerUrl,{
mode:esri.layers.FeatureLayer.MODE_ONDEMAND,
outFields:["*"]
});
featureLayer.setSelectionSymbol(new esri.symbol.SimpleMarkerSymbol().setSize(8).setColor(new dojo.Color([160,214,238])));
map.addLayer(featureLayer);
break;
}
} else
{
switch (el.id)
{
case 'survSel':
document.getElementById('contSel').checked = true;
break;
case 'contSel':
document.getElementById('survSel').checked = true;
break;
}
}
}
//Zoom to Feature when row is clicked
function onRowClickHandler(evt){
} if (searchType == "selControl2") {
var clickedTaxLotId = grid4.getItem(evt.rowIndex).POINT_NAME;
var selectedTaxLot;
dojo.forEach(map.graphics.graphics,function(graphic){
if((graphic.attributes) && graphic.attributes.POINT_NAME === clickedTaxLotId){
selectedTaxLot = graphic;
//added this part to build infotemplate
map.infoWindow.setTitle(graphic.getTitle());
map.infoWindow.setContent(graphic.getContent());
//
return;
}
});
if ( selectedTaxLot.geometry.declaredClass == 'esri.geometry.Point' ) {
map.centerAndZoom(selectedTaxLot.geometry, 11)
var sp = map.toScreen(selectedTaxLot.geometry);
map.infoWindow.show(selectedTaxLot.geometry, map.getInfoWindowAnchor(sp));
} else {
//alert("Polygon");
var taxLotExtent = selectedTaxLot.geometry.getExtent();
var screenpoint = map.toScreen(selectedTaxLot.geometry.getExtent().getCenter());
var mappoint = map.toMap(screenpoint);
map.centerAndZoom(selectedTaxLot.geometry,15);
map.infoWindow.show(taxLotExtent.getCenter(), map.getInfoWindowAnchor(screenpoint));
}
}
}
var clickedTaxLotId = grid4.getItem(evt.rowIndex).POINT_NAME;
var selectedTaxLot;
dojo.forEach(map.graphics.graphics,function(graphic){
if((graphic.attributes) && graphic.attributes.POINT_NAME === clickedTaxLotId){
dojo.connect(map, 'onLoad', function(theMap) {
//initialize the toolbar
toolBar = new esri.toolbars.Draw(map);
dojo.connect(toolBar, "onDrawEnd",onDrawEnd);
toolBar.deactivate();
//resize the map when the browser resizes
dojo.connect(dijit.byId('map'), 'resize', map,map.resize);
navToolbar.deactivate();
featureLayerUrl = "http://slcarcgisdev1/SLCOGIS/rest/services/public/SurveyorFS/MapServer/2";
featureLayer = new esri.layers.FeatureLayer(featureLayerUrl,{
mode:esri.layers.FeatureLayer.MODE_ONDEMAND,
outFields:["*"]
});
featureLayer.setSelectionSymbol(new esri.symbol.SimpleFillSymbol().setColor(new dojo.Color([255,255,0,0.5])));
map.addLayer(featureLayer);
});
//Zoom to Feature from row click
function onRowClickHandler(evt){
if (searchType == "selControl2") {
var clickedTaxLotId = grid5.getItem(evt.rowIndex).doc_id;
var selectedTaxLot;
var highlightSymbol = new esri.symbol.SimpleMarkerSymbol().setColor(new dojo.Color([25,50,225,0.3]));
dojo.forEach(map.graphics.graphics,function(featureLayer){
if((featureLayer.attributes) && featureLayer.attributes.doc.id === clickedTaxLotId){
selectedTaxLot = featureLayer;
featureLayer.setSymbol(highlightSymbol);
return;
}
});
if ( selectedTaxLot.geometry.declaredClass == 'esri.geometry.Point' ) {
map.centerAndZoom(taxLotExtent, 11)
var sp = map.toScreen(selectedTaxLot.geometry);
} else {
var taxLotExtent = selectedTaxLot.geometry.getExtent();
var screenpoint = map.toScreen(selectedTaxLot.geometry.getExtent().getCenter());
var mappoint = map.toMap(screenpoint);
map.setExtent(taxLotExtent,true);
map.infoWindow.show(taxLotExtent.getCenter(), map.getInfoWindowAnchor(screenpoint));
}
}
dojo.forEach(map.graphics.graphics,function(featureLayer){ if((featureLayer.attributes) && featureLayer.attributes.doc.id === clickedTaxLotId){ selectedTaxLot = featureLayer;
var clickedTaxLotId = grid4.getItem(evt.rowIndex).POINT_NAME;
var selectedTaxLot;
var highlightSymbol = new esri.symbol.SimpleMarkerSymbol().setColor(new dojo.Color([25,50,225,0.3]));
dojo.forEach(map.graphics.graphics,function(features){
if((graphic.attributes) && graphic.attributes.POINT_NAME === clickedTaxLotId){
selectedTaxLot = features;
featureLayer.setSymbol(highlightSymbol);
return;
}
});
if ( selectedTaxLot.geometry.declaredClass == 'esri.geometry.Point' ) {
map.centerAndZoom(taxLotExtent, 11)
var sp = map.toScreen(selectedTaxLot.geometry);
} else {
var taxLotExtent = selectedTaxLot.geometry.getExtent();
var screenpoint = map.toScreen(selectedTaxLot.geometry.getExtent().getCenter());
var mappoint = map.toMap(screenpoint);
map.setExtent(taxLotExtent,true);
map.infoWindow.show(taxLotExtent.getCenter(), map.getInfoWindowAnchor(screenpoint));
}
selectedTaxLot is undefined on this line if (selectedTaxLot.geometry.declaredClass == 'esri.geometry.Point'):var clickedTaxLotId = grid4.getItem(evt.rowIndex).POINT_NAME; var selectedTaxLot; var highlightSymbol = new esri.symbol.SimpleMarkerSymbol().setColor(new dojo.Color([25,50,225,0.3])); dojo.forEach(map.graphics.graphics,function(features){ if((graphic.attributes) && graphic.attributes.POINT_NAME === clickedTaxLotId){ selectedTaxLot = features;
var feature = features[0]
function onRowClickHandler(evt){
map.graphics.clear();
map.infoWindow.hide();
var OID = grid.getItem(evt.rowIndex).OBJECTID;
var query = new esri.tasks.Query();
query.objectIds = [OID];
parcelFeatureLayer.selectFeatures(query,esri.layers.FeatureLayer.SELECTION_NEW, function (features) {
var parcelExtent = esri.graphicsExtent(features);
parcelExtent.expand(2);
map.setExtent(parcelExtent);
var feature = features[0];
var centerPt = parcelExtent.getCenter();
feature.setInfoTemplate(parcelInfoTemplate);
map.infoWindow.setTitle(feature.attributes.PID);
map.infoWindow.setContent(feature.getContent());//from the infoTemplate defined in the original featureLayer definition
var labelPt = new esri.geometry.Point(centerPt, spatialReference);
map.infoWindow.show(labelPt);
});
}
var query = new esri.tasks.Query();
query.objectIds = [OID];
var zoomExtent = esri.graphicsExtent(graphicsArray);
//esri.graphicsExtent will return null if the extent height and width are 0
if (!zoomExtent) {
var geomArray = esri.getGeometries(graphicsArray);
var deferred = bufferGeometry("http://myserver/arcgis/rest/services/Utilities/Geometry/GeometryServer",
geomArray, [0.1], map.spatialReference, map.spatialReference);
deferred.then(function (results) {
map.setExtent(results[0].getExtent());
}, function (error) {
alert("Error during buffer Geom: " + error.message);
});
} else {
if (expandFactor) {
map.setExtent(extent.expand(expandFactor));
} else {
map.setExtent(extent);
}
}