Sunday, 11 November 2018

Adding a FeatureLayer ARCGIS JavaScript API


I am currently exploring ArcGIS JavaScript API. I have my own map services and feature services up on my local server. I would want to use the FeatuerLayer to select and highlight feature on the map. But when I add my feature service I get the following error.


TypeError: Unable to draw graphic (geometry:null, symbol:null): _14 is undefined


I am not able to figure out what this could be, and I am not sure if the feature layer has been added to the map or not. How could I check if it has been added? I tried using a dojo.connect method with the FeatureLayer with an onClick event. But this doesn't seem to work. Have placed the code below


Code:


esri.config.defaults.io.proxyUrl = "proxy.ashx";
dojo.require("dijit.layout.BorderContainer");
dojo.require("dijit.layout.ContentPane");
dojo.require("esri.map");
dojo.require("esri.layers.FeatureLayer");

dojo.require("esri.tasks.query");

var map;
var selectionToolbar;
var infoTemplate = new esri.InfoTemplate();
infoTemplate.setTitle("${ROADNAME}");
infoTemplate.setContent("ROAD NAME: ${LINK_ID}
" + "CAT${CAT}");

function init() {
try {

var initExtent = new esri.geometry.Extent({
"xmin": 103.55,
"ymin": 1.13,
"xmax": 104.16,
"ymax": 1.56,
"spatialReference": {
"wkid": 4326
}
});


map = new esri.Map("map", {
extent: esri.geometry.geographicToWebMercator(initExtent)
});

var basemap = new esri.layers.ArcGISTiledMapServiceLayer("http://server.arcgisonline.com/ArcGIS/rest/services/World_Topo_Map/MapServer");

//my map service layer
var basemap_sing = new esri.layers.ArcGISTiledMapServiceLayer("http://karthikpc:8399/arcgis/rest/services/Carriage_Mercantor/MapServer", {
displayLevels: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]
});

// my feature layer which i am not able to use
var featureLayer = new esri.layers.FeatureLayer("http://karthikpc:8399/arcgis/rest/services/Carriage_Mercantor/FeatureServer", {
mode: esri.layers.FeatureLayer.MODE_ONDEMAND,
infoTemplate: infoTemplate,
outFields: ["*"]
});

map.addLayer(basemap);
map.addLayer(base_sing);
map.addLayer(featureLayer);


dojo.connect(map, "onLoad", initSelectToolbar);
dojo.connect(featureLayer."onClick", helloworld);
} catch (e) {
alert('An error has occurred: ' + e.message);
}

}

function helloworld() {

alert("hello world");
}

dojo.addOnLoad(init);


No comments:

Post a Comment

arcpy - Changing output name when exporting data driven pages to JPG?

Is there a way to save the output JPG, changing the output file name to the page name, instead of page number? I mean changing the script fo...