Feature layer Click event issue in windows environment

1157
2
03-22-2017 12:16 AM
phpsite
New Contributor

Hi,

 We are facing a peculiar issue and would require help in solving or identifying the solution, whenever a click is made on the feature layer the pop up containing the data variables is not being displayed consistently.

Issue is that the pan and extent change event is also firing during the click. This happens when there is a background process initiated and in few other machines it is happening by default (Windows 10)

Have the sand box testing code below with console log which will provide event firing .To test start any windows application during the click event to find that pan/extent change will also fire

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

<meta name="viewport" content="initial-scale=1, maximum-scale=1,user-scalable=no">
<title>Class Breaks Renderer</title>

<link rel="stylesheet" href="https://js.arcgis.com/3.20/esri/css/esri.css">
<style>
html, body, #map{
height: 100%;
margin: 0;
padding: 0;
}
</style>
<script src="https://js.arcgis.com/3.20/"></script>
<script>
var map;
require([
"esri/map", "esri/layers/FeatureLayer",
"esri/InfoTemplate", "esri/symbols/SimpleFillSymbol",
"esri/renderers/ClassBreaksRenderer",
"esri/Color", "dojo/dom-style", "dojo/domReady!"
], function(
Map, FeatureLayer,
InfoTemplate, SimpleFillSymbol,
ClassBreaksRenderer,
Color, domStyle
) {
map = new Map("map", {
basemap: "streets",
center: [-98.215, 38.382],
zoom: 7,
slider: false
});
var pext;
var symbol = new SimpleFillSymbol();
symbol.setColor(new Color([150, 150, 150, 0.5]));

// Add five breaks to the renderer.
// If you have ESRI's ArcMap available, this can be a good way to determine break values.
// You can also copy the RGB values from the color schemes ArcMap applies, or use colors
// from a site like www.colorbrewer.org
//
// alternatively, ArcGIS Server's generate renderer task could be used
var renderer = new ClassBreaksRenderer(symbol, "POP07_SQMI");
renderer.addBreak(0, 25, new SimpleFillSymbol().setColor(new Color([56, 168, 0, 0.5])));
renderer.addBreak(25, 75, new SimpleFillSymbol().setColor(new Color([139, 209, 0, 0.5])));
renderer.addBreak(75, 175, new SimpleFillSymbol().setColor(new Color([255, 255, 0, 0.5])));
renderer.addBreak(175, 400, new SimpleFillSymbol().setColor(new Color([255, 128, 0, 0.5])));
renderer.addBreak(400, Infinity, new SimpleFillSymbol().setColor(new Color([255, 0, 0, 0.5])));

var infoTemplate = new InfoTemplate("${NAME}", "${*}");
var featureLayer = new FeatureLayer("https://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Demographics/ESRI_Census_USA/MapServer/3", {
mode: FeatureLayer.MODE_SNAPSHOT,
outFields: ["*"],
infoTemplate: infoTemplate
});

featureLayer.setDefinitionExpression("STATE_NAME = 'Kansas'");
featureLayer.setRenderer(renderer);
map.addLayer(featureLayer);

map.on("click",function(evt){

console.log("on map click extent start");

console.log("on map click extent end");

});

map.on("extent-change",function(evt){

console.log("on extent change event object start");
console.log(evt.extent);

console.log("on extent change event object end");

});

map.on("pan-end",function(evt){

console.log("on pan end");

});

});
</script>
</head>

<body>
<div id="map"></div>
</body>

</html>

Thanks

0 Kudos
2 Replies
DanPatterson_Retired
MVP Emeritus

It might be a good idea to move your thread to a group/place that can help within the Developer section to target the software/development environment you are using.  This place is GeoNet Help... which is for help on how to use GeoNet

0 Kudos
phpsite
New Contributor

Thanks Dan Patterson

0 Kudos