I am unable to remove buffer results graphics on clcik button please attach necessary code i am using version 3.5
urgent
Thanks and regards
bharath
I see that you are using "map.graphics.add" to add the buffer polygons to the map. To remove the buffer, you can use map.graphics.clear to remove all the graphics or use map.graphics.remove(graphic) to remove the specific graphic
Hi tim here is the code im working with
dojo.require("dijit.layout.BorderContainer");
dojo.require("dijit.layout.ContentPane");
dojo.require("esri.map");
dojo.require("esri.tasks.geometry");
dojo.require("esri.toolbars.draw");
dojo.require("esri.tasks.query");
dojo.require("esri.layers.FeatureLayer");
dojo.require("dojox.grid.DataGrid");
dojo.require("dojo.data.ItemFileReadStore");
dojo.require("dojo/_base/array");
dojo.require("dojo/store/Memory");
dojo.require("esri.tasks.find");
var map, gsvc, tb, arrayUtils;
var grid, store, data, OnDemandGrid, Memory;
var findTask, findParams;
function initialize() {
map = new esri.Map("map", {
center: [-111.5, 39.541],
zoom: 7
});
landBaseLayer = new esri.layers.ArcGISDynamicMapServiceLayer("http://192.168.2.35/ArcGIS/rest/services/point/MapServer", { opacity: 5.55 });
map.addLayer(landBaseLayer);
dojo.connect(map, "onLoad", initToolbar);
gsvc = new esri.tasks.GeometryService("http://192.168.2.35/ArcGIS/rest/services/Geometry/GeometryServer");
esri.config.defaults.io.proxyUrl = "/proxy";
esri.config.defaults.io.alwaysUseProxy = false;
// }
function initToolbar(map) {
tb = new esri.toolbars.Draw(map);
dojo.connect(tb, "onDrawEnd", doBuffer);
}
function doBuffer(geometry) {
debugger;
if (geometry.type == "point") {
var symbol = new esri.symbol.SimpleMarkerSymbol(esri.symbol.SimpleMarkerSymbol.STYLE_SQUARE, 10, new esri.symbol.SimpleLineSymbol(esri.symbol.SimpleLineSymbol.STYLE_SOLID, new dojo.Color([255, 0, 0]), 1), new dojo.Color([0, 255, 0, 0.25]));
else if (geometry.type == "polyline") {
var symbol = new esri.symbol.SimpleLineSymbol(esri.symbol.SimpleLineSymbol.STYLE_DASH, new dojo.Color([255, 0, 0]), 1);
else if (geometry.type == "polygon") {
var symbol = 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 featureLayer = new esri.layers.FeatureLayer("http://192.168.2.35/ArcGIS/rest/services/point/MapServer/" + ddlViewBy.value, {
mode: esri.layers.FeatureLayer.MODE_SELECTION,
outFields: ["*"]
map.addLayer(featureLayer);
var symbol = new esri.symbol.SimpleMarkerSymbol().setColor(new dojo.Color([255, 0, 0]));
featureLayer.setSelectionSymbol(symbol);
var graphic = new esri.Graphic(geometry, symbol);
// map.graphics.add(graphic);
//setup the buffer parameters
var params = new esri.tasks.BufferParameters();
params.distances = [dojo.byId("distance").value];
params.bufferSpatialReference = new esri.SpatialReference({ wkid: dojo.byId("bufferSpatialReference").value });
params.outSpatialReference = map.spatialReference;
params.unit = eval("esri.tasks.GeometryService." + dojo.byId("unit").value);
if (geometry.type === "polygon") {
//if geometry is a polygon then simplify polygon. This will make the user drawn polygon topologically correct.
gsvc.simplify([geometry], function (geometries) {
params.geometries = geometries;
gsvc.buffer(params, showBuffer);
} else {
params.geometries = [geometry];
gsvc.buffer(params);
//code used to set graphics for polygon buffer//////////////////////////////////////////////
function showBuffer(bufferedGeometries) {
var symbol = new esri.symbol.SimpleFillSymbol(
esri.symbol.SimpleFillSymbol.STYLE_SOLID,
new esri.symbol.SimpleLineSymbol(
esri.symbol.SimpleLineSymbol.STYLE_SOLID,
new dojo.Color([255, 0, 0]), 2
),
new dojo.Color([255, 0, 0])
);
dojo.forEach(bufferedGeometries, function (geometry) {
tb.deactivate();
map.showZoomSlider();
///////////////////////////////////////////////////////////////////////////////////
var highlightSymbol = new esri.symbol.SimpleMarkerSymbol().setColor(new dojo.Color([255, 0, 0]));
gsvc.on("buffer-complete", function (extent) {
// console.log(extent);
var results = [];
dojo.forEach(map.graphics.graphics, function (graphic) {
gsvc.on("buffer-complete", function (result) {
//draw the buffer geometry on the map as a map graphic
new dojo.Color([255, 0, 0, 0.65]), 2
new dojo.Color([255, 0, 0, 0.35])
var bufferGeometry = result.geometries[0];
// console.log(bufferGeometry);
var graphic = new esri.Graphic(bufferGeometry, symbol);
map.graphics.add(graphic);
//Select features within the buffered polygon. To do so we'll create a query to use the buffer graphic
//as the selection geometry.
var query = new esri.tasks.Query();
// console.log(query);
query.geometry = bufferGeometry;
featureLayer.selectFeatures(query, esri.layers.FeatureLayer.SELECTION_NEW, function (results, i) {
$("#getData").empty();
var c = featureLayer.getSelectedFeatures();
var raja = 0;
if (c.length > 0) {
for (n = 0; n < c.length; n++) {
var o = c.attributes,
o1 = JSON.stringify(o);
o2 = o1.replace("{", ""),
o3 = o2.replace("}", ""),
o4 = o3.split(",");
var c1 = "<table border='0' cellspacing='0' cellpadding='0'><tr>";
if (o4.length > 0) {
if (raja == 0) {
for (s = 0; s < o4.length; s++) {
o5 = o4.split(":");
o6 = o5[0].replace('"', '');
o6 = o6.replace('"', '');
o7 = o5[1];
c1 += "<td style='border: solid 1px; background-color: #ccc;height:50px;'>" + o6 + "</td>";
raja = 1;
c1 += "</tr><tr>";
c1 += "<td style='border: solid 1px;min-width: 250px;'><p>" + o7 + "</p></td>";
c1 += "</tr></table>"
$("#getData").append(c1);
var totalPopulation = sumPopulation(results);
var r = "";
r = "<b>The total Census Block population within the buffer is <i>" + totalPopulation + "</i>.</b>";
dojo.byId('messages').innerHTML = r;
function errorMessage(error) {
console.log(error);
function sumPopulation(features) {
var popTotal = 0;
for (var x = 0; x < features.length; x++) {
popTotal = popTotal + features.attributes["OBJECTID"];
return popTotal;
dojo.ready(initialize);
It would be helpful to see the code you are working with. It is hard to tell you the right code if we don't know how you have created the buffer graphic.
Los miembros registrados pueden publicar, seguir actualizaciones y más. ¿Nuevo aquí? Regístrate gratis.
Find useful guides, FAQs, and documents to help you navigate and make the most of Esri Community.