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