<!-- Map processes here -->
<div id = "map">
<script type='text/javascript'>
var map = L.map('map').setView([0, 0], 2);
L.esri.basemapLayer('Gray').addTo(map);
map.on('click', addMarker);
var MarkerLayer = new L.FeatureGroup();
map.addLayer(MarkerLayer);
var Coordinates = [];
function addMarker(e){
Marker = new L.marker(e.latlng).addTo(MarkerLayer);
Coordinates.push(e.latlng);
}
function ClearMarker(){
MarkerLayer.clearLayers();
Coordinates = [];
}
function Geoprocessing(){
// Go through coordinates generated from leaflet and split them
// up to be passed to the geoprocessing service
Coordinates.forEach(function(item){
var Results = [];
var StrItem = String(item);
var StrParts = StrItem.split(",");
var Lat = StrParts[0].slice(7);
var Long = StrParts[1].substring(0, StrParts[1].length - 1);
//execute geoprocessing service each time a lat and long are generated
var gpService = L.esri.GP.service({
useCors:false
});
var gpTask = gpService.createTask();
gpTask.setParam("InputX", Long);
gpTask.setParam("InputY", Lat);
gpTask.run(DataCallBack);
})
// Handle server response
function DataCallBack(error, raw, response)
{
window.alert(error.message);
}
}
</script>