<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Creating a customisable buffer around points in a feature layer - Javascript API in ArcGIS JavaScript Maps SDK Questions</title>
    <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/creating-a-customisable-buffer-around-points-in-a/m-p/121303#M11317</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Is there any further help anyone could offer me on this? Again I would be immensely grateful. It seems that the issue is that my feature layer isn't supply the function with the necessary geometries - anyone know why this might be the case?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 24 May 2012 08:48:31 GMT</pubDate>
    <dc:creator>RossPudney</dc:creator>
    <dc:date>2012-05-24T08:48:31Z</dc:date>
    <item>
      <title>Creating a customisable buffer around points in a feature layer - Javascript API</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/creating-a-customisable-buffer-around-points-in-a/m-p/121299#M11313</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I am sorry if this has been posted before - but I have searched the forums before posting and haven't come across anything so my apologies if there is a solution already. I am new to Javascript and am trying to put together a web page which enables me to do the following:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;UL&gt;&lt;BR /&gt;&lt;LI&gt;Show layers from my ArcGIS Server&lt;/LI&gt;&lt;BR /&gt;&lt;LI&gt;Enable the user to draw a buffer around the point level feature layer I have in my map (and be able to determine the size of the buffer)&lt;/LI&gt;&lt;BR /&gt;&lt;LI&gt;Do a query on another polygon layer I have from my Server which intersects with the buffer and provides a sum of the values in a given field column&lt;/LI&gt;&lt;BR /&gt;&lt;/UL&gt;&lt;SPAN&gt;I am only interested at this stage in finding out how to do the second point and wondered if anyone could help me? I have copy/pasted the ArcGIS resources code for creating a buffer on a click event and inserted into my code below.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The steps I need to understand are:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;- How do I make the script draw the buffer around my point layer (it is named asa variable 'Lyr_StrokeUnits') ?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;- How do I make the script draw the buffers without the 'onClick' event and instead to draw the buffers dependent on a user input? (Ideally I want the user to be able to input the buffer radius value as they can now and then to be able to press a button to redraw the buffers for all points)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I would be very grateful for any help anyone could give me on this issue.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Kind regards,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Ross &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The relevant code below:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt; function initFunctionality(map) {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Identify proxy page to use if the toJson payload to the geometry service is greater than 2000 characters.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //If this null or not available the buffer operation will not work.&amp;nbsp; Otherwise it will do a http post to the proxy.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; esri.config.defaults.io.proxyUrl = "/arcgisserver/apis/javascript/proxy/proxy.ashx";&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; esri.config.defaults.io.alwaysUseProxy = false;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Geometry Service Endpoint&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var gsvc = new esri.tasks.GeometryService("&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="http://tasks.arcgisonline.com/ArcGIS/rest/services/Geometry/GeometryServer" rel="nofollow" target="_blank"&gt;http://tasks.arcgisonline.com/ArcGIS/rest/services/Geometry/GeometryServer&lt;/A&gt;&lt;SPAN&gt;");&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Listens for an onClick event in the map&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dojo.connect(map, "onClick", function(evt) {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; map.graphics.clear();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var params = new esri.tasks.BufferParameters();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; params.geometries&amp;nbsp; = [ evt.mapPoint) ];&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Sets the parameters for the buffer in miles and creates the buffer in code, but DOESNT display it&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; params.distances = [ dojo.byId('bufferDistance').value ]; //'bufferDistance' is a variable which the user inputs on the main page - found in body code&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; params.unit = esri.tasks.GeometryService.UNIT_STATUTE_MILE; // standard miles&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; params.bufferSpatialReference = new esri.SpatialReference({wkid: 3857}); //Sets the SRID for the buffer&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; params.outSpatialReference = map.spatialReference; //Sets the SRID for the output of the buffer service&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; gsvc.buffer(params);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dojo.byId('messages').innerHTML = "&amp;lt;b&amp;gt;Creating Buffer&amp;lt;/b&amp;gt;";&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; });&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Listens for GeometryService onBufferComplete event and then draws the buffer onto the map&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dojo.connect(gsvc, "onBufferComplete", function(geometries) { //gsvc is the centrepoint location where the initial click is recorded&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var symbol = new esri.symbol.SimpleFillSymbol("none", new esri.symbol.SimpleLineSymbol("solid", new dojo.Color([255,0,0]), 2), new dojo.Color([255,255,0,0.25])); // creates the buffer symbol&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var graphic = new esri.Graphic(geometries[0],symbol); //creates the buffer graphic which is actually displayed onto the map&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; map.graphics.add(graphic); //Adds the buffer to the map&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dojo.byId('messages').innerHTML = "&amp;lt;b&amp;gt;Draw Buffer Complete.&amp;lt;/b&amp;gt;";&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; });&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 23 May 2012 11:35:22 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/creating-a-customisable-buffer-around-points-in-a/m-p/121299#M11313</guid>
      <dc:creator>RossPudney</dc:creator>
      <dc:date>2012-05-23T11:35:22Z</dc:date>
    </item>
    <item>
      <title>Re: Creating a customisable buffer around points in a feature layer - Javascript API</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/creating-a-customisable-buffer-around-points-in-a/m-p/121300#M11314</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;If anyone is able to help me with this I would be so grateful.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 23 May 2012 15:00:21 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/creating-a-customisable-buffer-around-points-in-a/m-p/121300#M11314</guid>
      <dc:creator>RossPudney</dc:creator>
      <dc:date>2012-05-23T15:00:21Z</dc:date>
    </item>
    <item>
      <title>Re: Creating a customisable buffer around points in a feature layer - Javascript API</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/creating-a-customisable-buffer-around-points-in-a/m-p/121301#M11315</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Take the geometries from your feature layer and specify them as your params.geometries. Something like this:&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;
// dojo.map returns an array 
// fl is your feature layer
var geoms = dojo.map(fl.graphics, function(g) {
&amp;nbsp; return g.geometry;
});
params.geometries = geoms
&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 11 Dec 2021 07:01:30 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/creating-a-customisable-buffer-around-points-in-a/m-p/121301#M11315</guid>
      <dc:creator>derekswingley1</dc:creator>
      <dc:date>2021-12-11T07:01:30Z</dc:date>
    </item>
    <item>
      <title>Re: Creating a customisable buffer around points in a feature layer - Javascript API</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/creating-a-customisable-buffer-around-points-in-a/m-p/121302#M11316</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;Take the geometries from your feature layer and specify them as your params.geometries. Something like this:&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;
// dojo.map returns an array 
// fl is your feature layer
var geoms = dojo.map(fl.graphics, function(g) {
&amp;nbsp; return g.geometry;
});
params.geometries = geoms
&lt;/PRE&gt;&lt;/BLOCKQUOTE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thank you Derek - unfortunately that hasn't worked. I have however been editing my code since I posted this afternoon based on other examples and forum questions which seemed to have similar issues. I have removed the actual address to the data I am using from my server as I can't disclose it I am afraid, so I do apologise about that.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I have included it below:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;
&amp;lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"&amp;gt;
&amp;lt;html&amp;gt;
&amp;lt;!-- The HEAD section is the section of code which references and loads all scripts before it is shown on the webpage --&amp;gt;
&amp;nbsp; &amp;lt;head&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;title&amp;gt;XXX&amp;lt;/title&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;meta http-equiv="Content-Type" content="text/html; charset=utf-8"/&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;meta http-equiv="X-UA-Compatible" content="IE=7" /&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;link rel="stylesheet" type="text/css" href="http://serverapi.arcgisonline.com/jsapi/arcgis/2.8/js/dojo/dijit/themes/nihilo/nihilo.css"&amp;gt;
 &amp;lt;link rel="stylesheet" type="text/css" href="http://serverapi.arcgisonline.com/jsapi/arcgis/2.8/js/esri/dijit/css/Popup.css"/&amp;gt;

 &amp;lt;!--Script 1 loads the Javascript API files --&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;script type="text/javascript" src="http://serverapi.arcgisonline.com/jsapi/arcgis/?v=2.8"&amp;gt;&amp;lt;/script&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;!--Script 2 is where all the code written is executed --&amp;gt;
 &amp;lt;script type="text/javascript"&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; //The code script is split into three sections;
&amp;nbsp;&amp;nbsp; //(1) Reference of a package: Packages are bundles of resources which enable features to work. For adding maps for example
&amp;nbsp;&amp;nbsp; // the dojo (the underlying basis for Javascript) needs to pull in the 'map' package, hence dojo.require("esri.map") which
&amp;nbsp;&amp;nbsp; // enables the browser to work with maps
&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; //(2) Initialisation function(s): The initialisation function(s) are in essence a loading function which adds layers to the map and executes
&amp;nbsp;&amp;nbsp; // a range of code / processes. As layers can't be physically added, they are pulled from a webservice where appropriate.
&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; //(3) Script Load: This function runs the specified script, but ensures that the script only runs once the HTML webpage is loaded. This
&amp;nbsp;&amp;nbsp; // is important as it stops the scripts running BEFORE the map baselayer is loaded.
&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; 
 //(1) Packages import
&amp;nbsp;&amp;nbsp; // .require is basically an 'include' function which brings in the resources to display maps
&amp;nbsp;&amp;nbsp; dojo.require("esri.map"); // creates the map class for all elements to be loaded into
&amp;nbsp;&amp;nbsp; dojo.require("esri.tasks.query"); // retrieves features from a map layer based on geography or attribute conditions.
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dojo.require("esri.tasks.geometry"); //gives you access to an ArcGIS Server geometry service that can buffer, project, and simplify geometries
&amp;nbsp;&amp;nbsp; dojo.require("esri.layers.FeatureLayer"); //enables loading of feature layers&amp;nbsp; 
&amp;nbsp;&amp;nbsp; 

&amp;nbsp;&amp;nbsp; //Pre-load the variables to be used in the script - saves time and memory in terms of processing&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; //Base Variables
&amp;nbsp;&amp;nbsp; var map
&amp;nbsp;&amp;nbsp; var BaseMap
&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; //Layer Variables
&amp;nbsp;&amp;nbsp; var Lyr_StrokeUnits
&amp;nbsp;&amp;nbsp; var Lyr_UKPopData
&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; //Task Variables
&amp;nbsp;&amp;nbsp; var queryTask
&amp;nbsp;&amp;nbsp; var gsvc
&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; 
 //(2) Initialisation functions
 //(2.1) Creates a function called init which adds the base map and feature layers used in the map

 function init() {
&amp;nbsp; 
&amp;nbsp; //Set the map extent and spatial reference
&amp;nbsp; var ExtentAndSR = new esri.geometry.Extent(-65000,6000000,-800000,8700000,new esri.SpatialReference({"wkid":3857}));
&amp;nbsp; 
&amp;nbsp; //Creates the Map container / object
&amp;nbsp; var map = new esri.Map("map",{extent:ExtentAndSR});

&amp;nbsp;&amp;nbsp;&amp;nbsp; //Defines what the variable 'map' does. In this case, it is defined as a Map Class (esri.map)
&amp;nbsp;&amp;nbsp;&amp;nbsp; //and the 'map' segment provides it with a reference to be displayed in the webpage (ie: The DIV
&amp;nbsp;&amp;nbsp;&amp;nbsp; //is an object visible in the webpage. As map pulls map data, it is then 'translated' to the DIV
&amp;nbsp;&amp;nbsp;&amp;nbsp; //element so that it can be shown on the map


&amp;nbsp; //Listens for when the Map Container is loaded and then adds query functionality in a seperate function after the init script
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dojo.connect(map, "onLoad", initFunctionality);&amp;nbsp; 

&amp;nbsp; 
&amp;nbsp; //Basemap
&amp;nbsp; //The underlying raster basemap used in the web portal
&amp;nbsp; 
&amp;nbsp;&amp;nbsp; var BaseMap = new //This line and the next defines the variable 'BaseMap' and what basemap will be used
&amp;nbsp;&amp;nbsp; esri.layers.ArcGISTiledMapServiceLayer("http://server.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer"); //Creates the reference for the variable (ie: where it is coming from)
&amp;nbsp;&amp;nbsp; map.addLayer(BaseMap); //This adds this layer to the 'base' layer of "map"

&amp;nbsp; 
&amp;nbsp; //Layers
&amp;nbsp; //Layers are loaded in succession - the last layer will be the 'top' layer and so on:
&amp;nbsp; 
&amp;nbsp;&amp;nbsp; //Lyr_UKPopData
&amp;nbsp;&amp;nbsp; var Lyr_UKPopData = new
&amp;nbsp;&amp;nbsp; esri.layers.FeatureLayer("xxx", {
&amp;nbsp;&amp;nbsp; mode : esri.layers.FeatureLayer.MODE_ONDEMAND});
&amp;nbsp;&amp;nbsp; map.addLayer(Lyr_UKPopData);&amp;nbsp; 
&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; //Lyr_StrokeUnits
&amp;nbsp;&amp;nbsp; var Lyr_StrokeUnits = new
&amp;nbsp;&amp;nbsp; esri.layers.FeatureLayer("xxx", {
&amp;nbsp;&amp;nbsp; mode : esri.layers.FeatureLayer.MODE_ONDEMAND});
&amp;nbsp;&amp;nbsp; map.addLayer(Lyr_StrokeUnits); 
&amp;nbsp; 
 
&amp;nbsp; }
&amp;nbsp; 
&amp;nbsp; 
 //(2.2) Creates a function called initFunctionality(map) which contains the querying scripts for buffer analysis
 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; function initFunctionality(map) {

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Geometry Service Endpoint
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var gsvc = new esri.tasks.GeometryService("http://tasks.arcgisonline.com/ArcGIS/rest/services/Geometry/GeometryServer");
&amp;nbsp;&amp;nbsp;&amp;nbsp; }
 
 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; function drawBuffer() {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var buffParams = new esri.tasks.BufferParameters();
&amp;nbsp;&amp;nbsp;&amp;nbsp; var flgeom = dojo.map(Lyr_StrokeUnits.graphics, function(g) {
&amp;nbsp;&amp;nbsp;&amp;nbsp; return g.geometry;
&amp;nbsp;&amp;nbsp;&amp;nbsp; });&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; buffParams.geometries = flgeom; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; buffParams.distances = [dojo.byId('bufferDistance').value];
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; buffParams.unit = esri.tasks.GeometryService.UNIT_STATUTE_MILE;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; buffParams.bufferSpatialReference = new esri.SpatialReference({wkid:3857});
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; buffParams.outSpatialReference = map.spatialReference;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; gsvc.buffer(buffParams, bufferDraw);

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; var bufferDraw = dojo.connect(gsvc, "onBufferComplete", function (geometries) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var symbol = new esri.symbol.SimpleFillSymbol("none", new esri.symbol.SimpleLineSymbol("solid", new dojo.Color([255, 0, 0]), 2), new dojo.Color([255, 255, 0, 0.25]));
&amp;nbsp;&amp;nbsp;&amp;nbsp; var graphic = new esri.Graphic(geometries[0], symbol);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; map.graphics.add(graphic);
&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; });
&amp;nbsp;&amp;nbsp; 
&amp;nbsp; } 

 
 //(3) Script Load
&amp;nbsp; dojo.addOnLoad(init);
&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/script&amp;gt;
&amp;nbsp; &amp;lt;/head&amp;gt;
&amp;nbsp; 
 &amp;lt;!-- The BODY section which determines the style and positioning of elements in the webpage --&amp;gt;
 &amp;lt;body&amp;gt;
 &amp;lt;body class="nihilo"&amp;gt;
 TEST&amp;lt;br&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Buffer distance (Miles):&amp;nbsp;&amp;lt;input type="text" id="bufferDistance" value="10" size="5"/&amp;gt;&amp;lt;input type='button' value='Draw Buffer' onclick='drawBuffer()'/&amp;gt;&amp;lt;br&amp;gt;
 &amp;lt;div id="map" style="width: 100%; height: 800px; margin: 0;"&amp;gt;&amp;lt;/div&amp;gt;
 &amp;lt;span id="messages"&amp;gt;&amp;lt;/span&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;
&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;You will see that I included your variable solution into the above, and yet I haven't had any joy with it. Do I need to add another dojo.connect somewhere? Or should my 'Draw Buffer' button work?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thank you for your help so far.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Ross&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 11 Dec 2021 07:01:33 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/creating-a-customisable-buffer-around-points-in-a/m-p/121302#M11316</guid>
      <dc:creator>RossPudney</dc:creator>
      <dc:date>2021-12-11T07:01:33Z</dc:date>
    </item>
    <item>
      <title>Re: Creating a customisable buffer around points in a feature layer - Javascript API</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/creating-a-customisable-buffer-around-points-in-a/m-p/121303#M11317</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Is there any further help anyone could offer me on this? Again I would be immensely grateful. It seems that the issue is that my feature layer isn't supply the function with the necessary geometries - anyone know why this might be the case?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 24 May 2012 08:48:31 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/creating-a-customisable-buffer-around-points-in-a/m-p/121303#M11317</guid>
      <dc:creator>RossPudney</dc:creator>
      <dc:date>2012-05-24T08:48:31Z</dc:date>
    </item>
    <item>
      <title>Re: Creating a customisable buffer around points in a feature layer - Javascript API</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/creating-a-customisable-buffer-around-points-in-a/m-p/121304#M11318</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Remove the "var" from in front of Lyr_StrokeUnit when you create your feature layer in the init function. Removing var will keep Lyr_StrokeUnit as a global. When you use var inside a function, you create a local variable. Because Lyr_StrokeUnit is local to init, that feature layer is not accessible in the drawBuffer function via the Lyr_StrokeUnit variable.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 24 May 2012 13:32:32 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/creating-a-customisable-buffer-around-points-in-a/m-p/121304#M11318</guid>
      <dc:creator>derekswingley1</dc:creator>
      <dc:date>2012-05-24T13:32:32Z</dc:date>
    </item>
    <item>
      <title>Re: Creating a customisable buffer around points in a feature layer - Javascript API</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/creating-a-customisable-buffer-around-points-in-a/m-p/121305#M11319</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Thank you Derek. That, and the removal of a few extra ';' made it work. I'm very grateful. Thank you.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 24 May 2012 15:44:51 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/creating-a-customisable-buffer-around-points-in-a/m-p/121305#M11319</guid>
      <dc:creator>RossPudney</dc:creator>
      <dc:date>2012-05-24T15:44:51Z</dc:date>
    </item>
    <item>
      <title>Re: Creating a customisable buffer around points in a feature layer - Javascript API</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/creating-a-customisable-buffer-around-points-in-a/m-p/121306#M11320</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Glad to help! And thanks for marking this one answered &lt;span class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;🙂&lt;/span&gt;&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 24 May 2012 16:10:13 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/creating-a-customisable-buffer-around-points-in-a/m-p/121306#M11320</guid>
      <dc:creator>derekswingley1</dc:creator>
      <dc:date>2012-05-24T16:10:13Z</dc:date>
    </item>
  </channel>
</rss>

