POST
|
Hi All, I am using ArcGIS Javascript API 3.9 with IE9+ browsers. I am getting out of stack space error in one of my layer. Reason for the issue is that it is a polygon layer and one of the feature in it is having very large polygon with multiple rings. But same thing is working with IE8. Can anyone got the same issue or help me out in resolving the issue.
... View more
08-06-2014
04:53 AM
|
0
|
1
|
809
|
POST
|
Print task exports graphics that are displayed on map in Print. Please share your code so that we can have a look. Also, make sure you have added the print task url in the proxy.config.
... View more
09-25-2013
01:00 AM
|
0
|
0
|
253
|
POST
|
You can generate legend using this code
function getLegendJSON() {
var divLegend = dojo.byId("legendDiv");
if (divLegend.innerHTML == "") {
divLegend.innerHTML = "Creating Legend...";
var url = <<Your_map_Service_Url>> + "/legend";
var requestHandle = esri.request({
"url": url,
"content": {
"f": "json"
},
"callbackParamName": "callback"
});
requestHandle.then(requestSucceeded, requestFailed);
}
}
function requestSucceeded(response, io) {
var lyr;
var htmlString = "<table>";
var divLegend = dojo.byId("legendDiv");
var mapURL = <<Your_map_Service_Url>>;
if (response != null && response.layers.length > 0) {
for (var iCnt = 0; iCnt < response.layers.length; iCnt++) {
lyr = response.layers[iCnt];
if (lyr.legend.length > 1) {
htmlString += "<tr><td colspan='2' style='font-weight:bold;'>" + lyr.layerName + "</td></tr>";
for (var jCnt = 0; jCnt < lyr.legend.length; jCnt++) {
var src = mapURL + "/" + lyr.layerId + "/images/" + lyr.legend[jCnt].url;
var strlbl = lyr.legend[jCnt].label.replace("<Null>", "Null");
htmlString += "<tr><td align='left'><img src=\"" + src + "\" alt ='' /></td><td>" + strlbl + "</td></tr>";
}
}
else {
htmlString += "<tr><td colspan='2' class='tdLayerHeader' style='font-weight:bold;'>" + lyr.layerName + "</td></tr>";
var src = mapURL + "/" + lyr.layerId + "/images/" + lyr.legend[0].url;
htmlString += "<tr><td colspan='2' ><img src=\"" + src + "\" alt ='' /></td></tr>";
}
}
htmlString += "</table>";
}
divLegend.innerHTML = htmlString;
}
... View more
09-25-2013
12:52 AM
|
0
|
0
|
1755
|
POST
|
Try with these checks. And if still not work then tell us what you are actually getting in the output
if((f.attributes["Topo_URL"] !=null && f.attributes["Topo_URL"] !=undefined && f.attributes["Topo_URL"] !="") && (f.attributes["Web_URL"] !=null && f.attributes["Web_URL"] !=undefined && f.attributes["Web_URL"] !="")){
content+="<a target='_blank' href='${Topo_URL}'>Topo Map Information</a><br/>"
+ "<a target='_blank' href='${Web_URL}'>Geologic Map Information</a>";
}
... View more
09-18-2013
08:05 PM
|
0
|
0
|
902
|
POST
|
You can try by accessing the mapservice as MapServer instead of FeatureServer.....
... View more
09-12-2013
01:10 AM
|
0
|
0
|
1803
|
POST
|
Interesting. This sample does use where clause for the statistical calculation, and it works. The main difference I can tell is the sample uses a feature layer that supports statistics, while rokitmaps uses a feature service. Yes Jason, not seeing any other difference, other than Supports statistics...... So rokitmaps, atleast you can give it a try by setting SupportsStatistics true for the layer.....
... View more
09-11-2013
09:24 AM
|
0
|
0
|
1803
|
POST
|
I think you need something like this...... GISLayer = new esri.layers.ArcGISDynamicMapServiceLayer("http://service.ncddc.noaa.gov/arcgis/rest/services/OceanExploration/regatlasSATL/MapServer", { "imageParameters": imageParameters });
map.addLayer(GISLayer);
dojo.connect(GISLayer, 'onLoad', function(mapLayout) {
map.setExtent(GISLayer.fullExtent);
});
//1. set map extent example
// map.setExtent(map.extent);
... View more
09-11-2013
08:39 AM
|
0
|
0
|
865
|
POST
|
Try dirtying the query.... [ NIM086349 - Alternate Query (Get) requests fail in Version 10.1 SP1 ] var dirty = (new Date()).getTime();
buildingLayer.setDefinitionExpression(dirty + "=" + dirty)
... View more
09-11-2013
08:30 AM
|
0
|
0
|
310
|
POST
|
Hi Jason, But the statistics is working on this layer......if we run query without passing the where clause...... Check the attachment.......
... View more
09-11-2013
07:57 AM
|
0
|
0
|
1803
|
POST
|
Hi, I tried running the query using Rest API interface using http://services1.arcgis.com/Mpa25zPNMAT08GQg/ArcGIS/rest/services/AllPropertiesEstablished/FeatureServer/0/query in browser. Even there where parameter is giving same error you are getting in your code when using with outStatistics Don't know why it is not accepting the where clause, as Rest API documentation http://resources.arcgis.com/en/help/rest/apiref/ says that When using outStatistics the only other parameters that will be used are groupByFieldsForStatistics, orderByFields, text, time, and where.
... View more
09-11-2013
04:42 AM
|
0
|
0
|
1803
|
POST
|
You can also use esri.request to get all layers info, if you need to extract all the details of service. var requestHandle = esri.request({
"url": <MapService_URL> + "/layers",
"content": {
"f": "json"
},
"callbackParamName": "callback"
});
requestHandle.then(requestSucceeded, requestFailed);
function requestSucceeded(response, io) {
}
function requestFailed(response) {
}
... View more
09-09-2013
02:30 AM
|
0
|
0
|
2696
|
POST
|
There is field called comparatorMap in the data store object so you can change the sort behavior. have a lok into this link http://www.ibm.com/developerworks/web/library/wa-aj-dojogrid/index.html
... View more
09-09-2013
02:13 AM
|
0
|
0
|
1147
|
POST
|
Since queryRelatedFeatures returns a defferred object you can do something like this https://developers.arcgis.com/en/javascript/jssamples/query_deferred_list.html Combine the deferred objects to generate single output
... View more
09-03-2013
09:34 PM
|
0
|
0
|
947
|
POST
|
In order to get the relation id you need to follow this : 1. Get the layer info from your map service and store its response in a variable //Create a class called LayerInfo and add this function to it. getLayerInfo: function () { var requestHandle = esri.request({ "url": this.mapServiceUrl + "/layers", "content": { "f": "json" }, "callbackParamName": "callback" }); return requestHandle.then(this.requestSucceeded, this.requestFailed); }, requestSucceeded: function (response, io) { return response; } , requestFailed: function (response) { return null; } 2. Once you get the response process the response to store layerwise info in a global variable. processResponseFromDynamicLayer: function (response) { var layerListByName = new Array(); if (response != null && response.layers != null) { for (var iCnt = 0; iCnt < response.layers.length; iCnt++) { if (response.layers[iCnt].type != "Group Layer" && response.layers[iCnt].type != "Annotation SubLayer") { if (layerListByName[response.layers[iCnt].name] == null) { layerListByName[response.layers[iCnt].name] = response.layers[iCnt]; if (layerListByName.length == undefined) layerListByName.length = 1; else layerListByName.length = layerListByName.length + 1; } } } } if (response != null && response.tables != null) { for (var iCnt = 0; iCnt < response.tables.length; iCnt++) { if (layerListByName[response.tables[iCnt].name] == null) { layerListByName[response.tables[iCnt].name] = response.tables[iCnt]; if (layerListByName.length == undefined) layerListByName.length = 1; else layerListByName.length = layerListByName.length + 1; } } } return layerListByName ; } 3. From that variable get the layer relation ship Id getLayerRelationShipId: function (layerName, relationName,layerListByName ) { if (layerListByName != null && layerListByName.length > 0) { if (layerListByName[layerName] != null) { var layerInfo = layerListByName[layerName]; if (layerInfo.relationships != null && layerInfo.relationships.length > 0) { var relationsShips = layerInfo.relationships; for (iRelCnt = 0; iRelCnt < relationsShips.length; iRelCnt++) { if (relationsShips[iRelCnt].name == relationName) return relationsShips[iRelCnt].id; } } } else return -1; } return -1; } You can create a single class from all these functions and store the values in properties
... View more
09-03-2013
03:26 AM
|
0
|
0
|
947
|
POST
|
Hi Thanls for the help, I tired the workaround but still I get the same error. Is it that the task works only for feature service layers and not for map service layers. The related data is there in the same mxd which is published as a service and if I query through REST endpoint, I do get the results. Yes queryRelatedFeatures works for FeatureLayer.
var relatedQuery = new esri.tasks.RelationshipQuery();
relatedQuery.objectIds = [2012];
relatedQuery.outFields = ["*"];
relatedQuery.relationshipId = 1;
relatedQuery.returnGeometry = false;
var myFeatureLayer = new esri.layers.FeatureLayer(<<mapServiceURL>> + "/" + <<layerId>>, {
mode: esri.layers.FeatureLayer.MODE_SELECTION
});
myFeatureLayer .queryRelatedFeatures(relatedQuery, function (relatedRecords) {
//Code after records are found
});
... View more
09-03-2013
03:14 AM
|
0
|
0
|
478
|
Title | Kudos | Posted |
---|---|---|
1 | 08-12-2013 12:00 AM |
Online Status |
Offline
|
Date Last Visited |
11-11-2020
02:23 AM
|