Solved! Go to Solution.
zoomToGraphics: function (map, graphicsArray, expandFactor) { var zoomExtent = esri.graphicsExtent(graphicsArray); //If the extent height and width are 0, null is returned if (!zoomExtent) { var geomArray = esri.getGeometries(graphicsArray); var deferred = this.bufferGeometry(geomArray, [50], graphicsArray[0].geometry.spatialReference, map.spatialReference); deferred.then(function (results) { zoomExtent = results[0].getExtent(); if (expandFactor) { map.setExtent(zoomExtent.expand(expandFactor), false); } else { map.setExtent(zoomExtent, false); } }, function (error) { alert("Error during buffer Geom: " + error.message); }); } else { if (expandFactor) { map.setExtent(zoomExtent.expand(expandFactor), false); } else { map.setExtent(zoomExtent, false); } } }, //require(["esri/tasks/GeometryService", ... ], function(GeometryService, ... ){ ... }); // dojo require dojo.deferred //TODO: need to set up the spatial reference correctly ... bufferGeometry: function (inGeometryArray, distanceArray, inSpatialRef, outSpatialRef) { var geomService = esri.config.defaults.geometryService; //new esri.tasks.GeometryService(geomServiceURL); var bufferParams = new esri.tasks.BufferParameters(); bufferParams.geometries = inGeometryArray; bufferParams.bufferSpatialReference = inSpatialRef; bufferParams.outSpatialReference = outSpatialRef; bufferParams.distances = distanceArray; //units in feet bufferParams.unit = esri.tasks.GeometryService.UNIT_METER; var deferred = geomService.buffer(bufferParams); return deferred; }
zoomToGraphics: function (map, graphicsArray, expandFactor) { var zoomExtent = esri.graphicsExtent(graphicsArray); //If the extent height and width are 0, null is returned if (!zoomExtent) { var geomArray = esri.getGeometries(graphicsArray); var deferred = this.bufferGeometry(geomArray, [50], graphicsArray[0].geometry.spatialReference, map.spatialReference); deferred.then(function (results) { zoomExtent = results[0].getExtent(); if (expandFactor) { map.setExtent(zoomExtent.expand(expandFactor), false); } else { map.setExtent(zoomExtent, false); } }, function (error) { alert("Error during buffer Geom: " + error.message); }); } else { if (expandFactor) { map.setExtent(zoomExtent.expand(expandFactor), false); } else { map.setExtent(zoomExtent, false); } } }, //require(["esri/tasks/GeometryService", ... ], function(GeometryService, ... ){ ... }); // dojo require dojo.deferred //TODO: need to set up the spatial reference correctly ... bufferGeometry: function (inGeometryArray, distanceArray, inSpatialRef, outSpatialRef) { var geomService = esri.config.defaults.geometryService; //new esri.tasks.GeometryService(geomServiceURL); var bufferParams = new esri.tasks.BufferParameters(); bufferParams.geometries = inGeometryArray; bufferParams.bufferSpatialReference = inSpatialRef; bufferParams.outSpatialReference = outSpatialRef; bufferParams.distances = distanceArray; //units in feet bufferParams.unit = esri.tasks.GeometryService.UNIT_METER; var deferred = geomService.buffer(bufferParams); return deferred; }