AnsweredAssumed Answered

Is there an example on how to get drivetime polygons for a time greater than 15 minutes using esri.leaflet?

Question asked by danlgarmstrong on Apr 5, 2017
Latest reply on Apr 5, 2017 by dafiter

Is there an example on how to get drivetime polygons for a time greater than 15 minutes using esri.leaflet?

I can use the sample code pretty much as is to generate single polygons for any time up to 15 minutes,
but greater than that the response seems to default to 5 minutes. I have a routine that gives me a token based on
the client ID and secret from the app I registered with Esri and use this as shown in code below. I am thinking it is an
authentication problem dis-allowing times greater than 15 minutes but I am not sure. If anyone has a suggestion PLEASE HELP!!!

Thanks in advance.

 

I create a service as follows:
var gpService = L.esri.GP.service({
url: "https://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Network/ESRI_DriveTime_US/GPServer/CreateDriveTimePolygons",
useCors: false
});
gpService.on('authenticationrequired', function (e) {
e.retry(esriToken);
});
gpService.authenticate(esriToken);
gpTask = gpService.createTask();
gpTask.token(esriToken);
driveTimes = L.featureGroup();
leafMap.addLayer(driveTimes);

 

Later on I call this function to create the polygon after a user enters time in minutes and clicks a button:

function drawDriveTimePolygon(lat, lon, minutes) {
driveTimes.clearLayers();
gpTask.setParam("Drive_Times", minutes);
gpTask.setParam("Input_Location", L.latLng(lat, lon));
gpTask.token(esriToken);
gpTask.run(driveTimeCallback);
function driveTimeCallback(error, response, raw) {
driveTimes.addLayer(L.geoJSON(response.Output_Drive_Time_Polygons));
var points = response.Output_Drive_Time_Polygons.features[0].geometry.coordinates[0];
var arrayLength = points.length;
var vertices = [];
for (var i = 0; i < arrayLength; i++) {
vertices.push(new L.latLng(points[i][0], points[i][1]));
}
var polygon = new L.Polygon(vertices)
.setStyle({ color: shapeColor })
.addTo(leafMap);
}
}

Outcomes