|
POST
|
ShowLoadingMessage fires and displays loading animation dojo.connect(map,"onUpdateStart", ShowLoadingMessage('Loading...')) HideLoadingMessage fires when the basemap is successfully drawn dojo.connect(map, "onUpdateEnd", HideLoadingMessage); identifyManager login then pops up, asking for username/password. After signing in, the 9 feature layers are then added to map, but it takes a few seconds; how do I fire my ShowLoadingMessage, then fire HideLoadingMessage when all feature layers are drawn? I looked through featurelayer events and can't find what I'm looking for. thanks!
... View more
05-02-2012
08:59 AM
|
0
|
8
|
3651
|
|
POST
|
Thanks Kelly!! I've been searching for this answer for awhile!
... View more
05-02-2012
08:51 AM
|
0
|
0
|
2311
|
|
POST
|
Hi all, I'm trying to use a TabContainer in my own InfoWindow and it doesn't work. I'll show my code. I'm using dojo toolkit 1.6
--------------------- My InfoWindow.js----------------------
dojo.provide("gvdi.InfoWindow");
dojo.require("esri.InfoWindowBase");
dojo.require("dojo.fx");
/***************
* MyInfoWindow
***************/
dojo.declare("gvdi.InfoWindow", [ esri.InfoWindowBase ], {
constructor: function(parameters) {
dojo.mixin(this, parameters);
isContentShowing: false;
isContentShowing: true;
isMouseOver: false;
isMouseClick: false;
dojo.addClass(this.domNode, "myInfoWindow");
this._closeButton = dojo.create("div", { "class": "close", title: "Cerrar" }, this.domNode);
this._title = dojo.create("div", { "class": "title" }, this.domNode);
this._content = dojo.create("div", { "class": "content" }, this.domNode);
this._toggleButton = dojo.create("div",{"class": "toggleOpen", title:"Expandir"},this.domNode);
var toggler = new dojo.fx.Toggler({
node: this._content,
showFunc: dojo.fx.wipeIn,
hideFunc: dojo.fx.wipeOut
});
toggler.hide();
this._eventConnections = [
dojo.connect(this._closeButton, "onclick", this, function(){
this.hide();
//hide the content when the window is closed so it displays in closed state next time it opens.
if(this.isContentShowing){
toggler.hide();
this.isMouseOver = false;
this.isMouseClick = false;
this.isContentShowing = false;
dojo.removeClass(this._toggleButton);
dojo.addClass(this._toggleButton,"toggleOpen");
}
}),
dojo.connect(this._toggleButton,"onclick",this,function(){
//animate the display of content
if(this.isContentShowing){
toggler.hide();
this.isContentShowing = false;
dojo.removeClass(this._toggleButton);
dojo.addClass(this._toggleButton,"toggleOpen");
}else{
toggler.show();
this.isContentShowing=true;
dojo.removeClass(this._toggleButton);
dojo.addClass(this._toggleButton,"toggleClose");
}
})
];
// Hidden initially
esri.hide(this.domNode);
this.isShowing = false;
},
/*****************************************
* Override and implement methods defined
* by the base class: InfoWindowBase
*****************************************/
setMap: function(map) {
// Run logic defined in the base class
this.inherited(arguments);
// hide the info window when the user is focusing elsewhere.
this._eventConnections.push(dojo.connect(map, "onPanStart", this, this.hide));
this._eventConnections.push(dojo.connect(map, "onZoomStart", this, this.hide));
},
setTitle: function(title) {
this.place(title, this._title);
},
setContent: function(content) {
this.place(content, this._content);
},
show: function(location) {
// Is location specified in map coordinates?
if (location.spatialReference) {
location = this.map.toScreen(location);
}
// Position 10x10 pixels away from the
// requested location
dojo.style(this.domNode, {
left: (location.x + 16) + "px",
top: (location.y + 16) + "px"
});
// Display
esri.show(this.domNode);
this.isShowing = true;
this.onShow();
},
hide: function() {
esri.hide(this.domNode);
this.isMouseClick = false;
this.isShowing = false;
this.onHide();
},
resize: function(width, height) {
dojo.style(this._content, {
width: width + "px",
height: height + "px"
});
dojo.style(this._title,{
width: width + "px"
});
},
/************************************
* Defining some methods specific to
* my info window
************************************/
destroy: function() {
dojo.forEach(this._eventConnections, dojo.disconnect);
dojo.destroy(this.domNode);
this.isMouseClick = false;
this._closeButton = this._title = this._content = this._eventConnections = null;
},
mostrarExtendido: function(){
esri.show(this._content);
this.isContentShowing=true;
dojo.removeClass(this._toggleButton);
dojo.addClass(this._toggleButton,"toggleClose");
},
setMouseOver: function(mouseOver) {
this.isMouseOver = mouseOver;
},
getMouseOver: function() {
return this.isMouseOver;
},
setMouseClick: function(mouseClick) {
this.isMouseClick = mouseClick;
},
getMouseClick: function() {
return this.isMouseClick;
},
mostrarReducido: function(){
esri.hide(this._content);
this.isContentShowing=false;
dojo.removeClass(this._toggleButton);
dojo.addClass(this._toggleButton,"toggleOpen");
}
});
--------------------------- End InfoWindow.js--------------------------
function insertIncident(id,tactica,xPos,yPos,estado,areaOp){
var geo = new esri.geometry.Point(xPos,yPos,new esri.SpatialReference({ wkid: 25830 }));
var ip = new esri.Graphic(geo, null);
var attr = {"xPos":xPos,"yPos":yPos,"id":id,"tactica":tactica,"estado":estado,"areaOp":areaOp};
ip.setAttributes(attr);
var infoTemplate = new esri.InfoTemplate("${id}  ","" +
"<strong>ID:</strong> ${id}<br/>" +
"<strong>Tactica:</strong> ${tactica}<br/>" +
"<strong>Area op:</strong> ${areaOp}<br/>");
ip.setInfoTemplate(infoTemplate);
//TODO: cambiar la gestion del icono a constantes java
var icon = "";
if (estado == "ACT")
icon = "./images/icons/incidverde.png";
else if (estado == "TACT")
icon = "./images/icons/incidgris.png";
else if (estado == "APER")
icon = "./images/icons/incidrojo.png";
//Comprobamos si existe un punto con las mismas coordenadas para crear un InfoWindow normal o multiple
if(xyPointExists(xPos,yPos)){
icon = "./images/icons/bancosbn.png";
var template = new esri.InfoTemplate();
template.setTitle("<b> TITULO!!!  </b>");
template.setContent(getWindowContent());
ip.setInfoTemplate(template);
myMultipleInfoWindowXY(ip,icon);
}else{
....
}
...
}
function getWindowContent(){
var tc = new dijit.layout.TabContainer({
style: "height: 100%; width: 150px;"
}, dojo.create("div"));
var cp1 = new dijit.layout.ContentPane({
title: "Details",
content: "sdafsadf<br>2355345<br>"
});
var cp2 = new dijit.layout.ContentPane({
title: "Details",
content: "34523453<br>2355345<br>"
});
tc.addChild(cp1);
tc.addChild(cp2);
return tc.domNode;
}
function myMultipleInfoWindowXY(elemento,icono){
try{
var imageSymbol = new Image();
var point;
imageSymbol.src = icono;
gvdiDefaultMap.graphics.add(elemento.setSymbol(esri.symbol.PictureMarkerSymbol(icono,imageSymbol.width,imageSymbol.height)));
dojo.connect(gvdiDefaultMap.graphics, "onClick", function(evt) {
var g = evt.graphic;
gvdiDefaultMap.infoWindow.setMouseOver(false);
gvdiDefaultMap.infoWindow.setMouseClick(true);
//gvdiDefaultMap.infoWindow.setContent(g.getContent()); //Also tried this
gvdiDefaultMap.infoWindow.setContent(getWindowContent());
gvdiDefaultMap.infoWindow.setTitle(g.getTitle());
gvdiDefaultMap.infoWindow.show(evt.screenPoint,gvdiDefaultMap.getInfoWindowAnchor(evt.screenPoint));
});
dojo.connect(gvdiDefaultMap.graphics, "onMouseMove", function(evt) {
if(!gvdiDefaultMap.infoWindow.getMouseClick()){
var g = evt.graphic;
gvdiDefaultMap.infoWindow.setMouseOver(true);
gvdiDefaultMap.infoWindow.setContent(g.getContent());
gvdiDefaultMap.infoWindow.setTitle(g.getTitle());
gvdiDefaultMap.infoWindow.show(evt.screenPoint,gvdiDefaultMap.getInfoWindowAnchor(evt.screenPoint));
}
});
dojo.connect(gvdiDefaultMap.graphics, "onMouseOut", function() {
if(gvdiDefaultMap.infoWindow.getMouseOver() && !gvdiDefaultMap.infoWindow.getMouseClick())
gvdiDefaultMap.infoWindow.hide();
} );
}catch(error){
mostrarError("gvdiApEstDivMedShowInfoWindowXY "+error);
}
}
And this is the result: [ATTACH=CONFIG]13925[/ATTACH] Need help please!!! Thank a lot. Let me guess...you replaced the default infoWindow with an esri.dijit.popup, then tried adding tab to the dijit.popup? I've been trying this for a month now to no avail. By replacing infoWindow, I mean like this:
var popup = new esri.dijit.Popup({
fillSymbol: new esri.symbol.SimpleFillSymbol(esri.symbol.SimpleFillSymbol.STYLE_SOLID, new esri.symbol.SimpleLineSymbol(esri.symbol.SimpleLineSymbol.STYLE_SOLID, new dojo.Color([255,0,0]), 2), new dojo.Color([255,255,0,0.25]))
}, dojo.create("div"));
map = new esri.Map("map", {extent: startExtent,infoWindow:popup});
... View more
04-30-2012
06:08 AM
|
0
|
0
|
2311
|
|
POST
|
"IE has blocked this website from displaying content with security certificate errors" this ribbon error in internet explorer goes away when this is removed from the map: <script type="text/javascript" src="https://serverapi.arcgisonline.com/jsapi/arcgis/?v=2.8"></script> If adding the JS api using http, then IE displays this error: "do you want to view only the webpage content that was delivered securely" Looks like my only option is to install JS api locally
... View more
04-24-2012
02:01 PM
|
0
|
0
|
1130
|
|
POST
|
we purchased a wildcard ssl cert and installed it on the server; in the ssl cert, the CN=*mydomain.com I'm guessing IE throws the warning because *mydomain.com <> gis.mydomain.com ??
... View more
04-24-2012
11:55 AM
|
0
|
0
|
1130
|
|
POST
|
I created a basic map displaying Rest Services A, B & C using the "ArcGIS Viewer For Flex Prerelease" GUI, then c/p the app directory to: https://gis.mydomain.com/flexmap I then created a similar map using the JS API and hosted the web app here: https://gis.mydomain.com/jsmap When the client visits the flex map, everything is fine, but when the JS map is viewed, Internet Explorer displays "IE has blocked this website from displaying content with security certificate errors". After the alert ribbon is clicked, you can choose "display blocked content" and everything works. What in the JS api would be causing this? here's how the api si referenced: <script type="text/javascript" src="https://serverapi.arcgisonline.com/jsapi/arcgis/?v=2.8"></script> thanks!
... View more
04-24-2012
11:41 AM
|
0
|
3
|
1261
|
|
POST
|
Thanks I've added your code but it's still not working. It still identifies sublayers which are turned off in the layerlist. I thought it is something with the lids and the build layer list. But I can't really pinpoint it. i should have added, my map contains all featureLayers. I then add the layer definition info to a legendLayers array; pretty sure I got this from the visible layers sample.
var legendLayers = []
var parcels = new esri.layers.FeatureLayer("restURL",{
mode:esri.layers.FeatureLayer.MODE_SNAPSHOT,
id: 'parcels',
outFields:["*"]
});
legendLayers.push({layer:parcels,title:"Property Boundaries"});
after the click event, you loop over the legendLayers array, checking to see which layers are visible; if visible, add the layerId to the lids array. console.log(lids) will tell you what layerId's are currently visible
... View more
04-24-2012
05:03 AM
|
0
|
0
|
3453
|
|
POST
|
weird that I have this problem; i'm not filling a previously created div, I'm setting the dijit.popup to pull the already formatted query result string, i.e. description: function(getmystring)?? If i console.log(map.infoWindow.features[0].infoTemplate.info.description) my data string is there, but it's not displayed on the popup?
... View more
04-23-2012
05:55 PM
|
0
|
0
|
2806
|
|
POST
|
thanks so much for your help!! I'm finally able to queryrelatedfeatures() and insert the string formatted results into popup, but when a single feature is clicked, nothing shows up in the popup?? If > 1 feature is clicked, the second feature, after hitting the next button on popup displays fine?? Here's what I have
function executeIdentifyTask(evt) {
//since LAYER_OPTION_VISIBLE only pertains to scale visibility, not TOC checked/not checked, we have to manually set the identifyParams.layerIds
var lids = [];
dojo.forEach(legendLayers, function(layer){
if (layer.layer.visible === true){
lids.push(map.getLayer(layer.layer.id).layerId)
}
})
console.log(lids);
identifyParams.layerIds = lids;
identifyParams.width = map.width;
identifyParams.height = map.height;
identifyParams.layerOption = esri.tasks.IdentifyParameters.LAYER_OPTION_VISIBLE;
identifyParams.geometry = evt.mapPoint;
identifyParams.mapExtent = map.extent;
var deferred = identifyTask.execute(identifyParams);
deferred.addCallback(function(response) {
// response is an array of identify result objects
// Let's return an array of features.
return dojo.map(response, function(result) {
var feature = result.feature;
feature.attributes.layerName = result.layerName;
switch(result.layerName){
case "RSC63D.DBO.logistics2":
var template = new esri.dijit.PopupTemplate({
title: "{site_code}",
description: "Type: {Type} <br /> Shop: {SHOP}"
});
feature.setInfoTemplate(template);
break;
case "RSC63D.DBO.query2":
var featObjId = feature.attributes.OBJECTID_1;
var relatedBranch = new esri.tasks.RelationshipQuery();
relatedBranch.outFields = ["*"];
relatedBranch.relationshipId = 1; //fac -to- Branch
relatedBranch.objectIds = [featObjId];
facSel.queryRelatedFeatures(relatedBranch, function(relatedBranches) {
var branchFound = false;
if(relatedBranches.hasOwnProperty(featObjId) == true){
branchFound = true;
var branchSet = relatedBranches[featObjId];
var cmdBranch = dojo.map(branchSet.features, function(feature){
return feature.attributes;
})
//console.log(cmdBranch);
}
var relatedQuery = new esri.tasks.RelationshipQuery();
relatedQuery.outFields = ["*"];
relatedQuery.relationshipId = 0; //fac -to- cmdMain
relatedQuery.objectIds = [featObjId];
//rather then listen for "OnSelectionComplete" we are using the queryRelatedFeatures callback function
facSel.queryRelatedFeatures(relatedQuery, function(relatedRecords) {
var data = []
if(relatedRecords.hasOwnProperty(featObjId) == true){
var fset = relatedRecords[featObjId]
var cmdMain = dojo.map(fset.features, function(feature) {
return feature.attributes;
})
//we need to fill an array with the objectids of the returned cmdMain records
//the length of this list == total number of mainCmd records returned for the clicked facility
objs = []
for (var k in cmdMain){
var o = cmdMain ;
objs.push(o.OBJECTID)
}
//third relationship query to find records related to cmdMain (cmdSub)
var subQuery = new esri.tasks.RelationshipQuery();
subQuery.outFields = ["*"];
subQuery.relationshipId = 2;
subQuery.objectIds = [objs]
subTbl.queryRelatedFeatures(subQuery)
dojo.connect(subTbl,"onQueryRelatedFeaturesComplete",function (subRecords){
//subRecords is an object where each property is the objectid of a cmdMain record
//if a cmdRecord objectid is present in subRecords property, cmdMain has sub records
//we no longer need these objectids, so we'll remove them and put the array into cmdsub
var cmdSub = []
for (id in subRecords){
dojo.forEach(subRecords[id].features, function(rec){
cmdSub.push(rec.attributes)
})
}
var j = cmdSub.length;
var p;
var sub_key;
var obj;
if (branchFound == true){
var p1 = "branch";
obj1 = {};
obj1[p1] = [cmdBranch[0].Branches]
data.push(obj1)
}
for (var i=0, iLen = cmdMain.length; i<iLen; i++) {
p = cmdMain.ASGMT_Name
obj = {};
obj
= [];
sub_key = cmdMain.sub_key;
for (var j=0, jLen=cmdSub.length; j<jLen; j++) {
if (cmdSub .sub_key == sub_key) {
obj
.push(cmdSub .Long_Name);
}
}
data.push(obj);
}
//format data array here
var template = new esri.dijit.PopupTemplate({
title: "something",
description: formatCmdData(data)
});
var template = new esri.InfoTemplate("",formatCmdData(data));
feature.setInfoTemplate(template);
});
}
else {
p = "No Data Available"
obj = {}
obj
= []
data.push(obj)
//format data array here
var template = new esri.dijit.PopupTemplate({
title: "{site_code} - {facil_name}",
description: formatCmdData(data)
});
feature.setInfoTemplate(template);
}
})
})
break;
}
console.log(feature)
return feature;
});
});
// InfoWindow expects an array of features from each deferred
// object that you pass. If the response from the task execution
// above is not an array of features, then you need to add a callback
// like the one above to post-process the response and return an
// array of features.
map.infoWindow.setFeatures([ deferred ]);
map.infoWindow.show(evt.mapPoint);
}
... View more
04-23-2012
01:13 PM
|
0
|
0
|
2806
|
|
POST
|
I wish I had an answer... this is interesting; a method of firing a js script from inside a popup to retrieve content that's not in the identify featureset attributes?? I could really use something like this to display related data in a popup, but can't figure out how to return queryrelatedfeatures() results to the popup.
... View more
04-20-2012
11:22 AM
|
0
|
0
|
2806
|
|
POST
|
I was having the same issue. identifyParams.LAYER_OPTION_VISIBLE would still identify layers that are hidden (not checked in the dijit.legend). I *think* the LAYER_OPTION_VISIBLE pertains to the scale visibility, set in either the rest service or when the feat. layer is added to the map. So, if your at a scale within the layer visible scale range, it will identify, regardless if it's 'turned on' or not in the dijit.legend widget. I even tried adding LAYER_OPTION_VISIBLE param to the begining of the click event, so the layer visibility list would be 'more up to date' but it didn't work. I did find that the identifyParams.layerIds does restrict the identify layers, so I simply added this to the beginning of the onClick function, prior to identifyTask.execute(identifyParams):
//lets manually set the identifyParams.layerIds
//to the layers that are currently checked in the legend widget
var lids = [];
dojo.forEach(legendLayers, function(layer){
if (layer.layer.visible === true){
lids.push(map.getLayer(layer.layer.id).layerId)
}
});
identifyParams.layerIds = lids;
... View more
04-20-2012
08:57 AM
|
0
|
0
|
3453
|
|
POST
|
In my top header I have a table, each cell containing a button; here's the html for the basemap dropdown. I used a form DropDownButton & dijit Menu.
<td align="center" style="width: 60px;" valign="middle">
<button id="dropdownButton" iconClass="btnImgBaseMap" title="Switch Basemap" dojoType="dijit.form.DropDownButton">
<div dojoType="dijit.Menu" id="bingMenu">
<!--The menu items are dynamically created using the basemap gallery layers-->
</div>
</button>
</td> here's my createbasemap function
function createBasemapGallery() {
var streetBasemapURL = new esri.dijit.BasemapLayer({
url:"https://server.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer"
});
var topoBasemapURL = new esri.dijit.BasemapLayer({
url:"https://server.arcgisonline.com/ArcGIS/rest/services/World_Topo_Map/MapServer"
});
var basemaps= [];
var bingBasemap = new esri.dijit.Basemap({
id: "Bing",
layers:[new esri.dijit.BasemapLayer({
type: "BingMapsAerial"})
],
title:"BingImagery"
//thumbnailUrl:"images/imagery_thumb.png"
});
basemaps.push(bingBasemap);
var streetBasemap = new esri.dijit.Basemap({
id: "Street",
layers:[streetBasemapURL],
title:"Street"
//thumbnailUrl:"images/street_thumb.png"
});
basemaps.push(streetBasemap);
var topoBasemap = new esri.dijit.Basemap({
id: "Topo",
layers:[topoBasemapURL],
title:"Topo"
//thumbnailUrl:"images/topo_thumb.png"
});
basemaps.push(topoBasemap);
var basemapGallery = new esri.dijit.BasemapGallery({
showArcGISBasemaps: false,
bingMapsKey: 'mykey',
basemaps: basemaps,
map: map
});
basemapGallery.startup();
dojo.forEach(basemapGallery.basemaps, function(basemap) {
//Add a menu item for each basemap, when the menu items are selected
dijit.byId("bingMenu").addChild(new dijit.MenuItem({
label: basemap.title,
iconClass: basemap.title,
onClick: function(){basemapGallery.select(basemap.id)}
}));
});
}
For the Thumbnail images, pay attention to the iconClass: basemap.title when the dijit.MenuItem is built. In my CSS I have the following classes defined
.BingImagery {
background-image: url("images/imagery_thumb.png");
background-repeat: no-repeat;
height: 60px;
width: 60px;
}
.Street {
background-image: url("images/street_thumb.png");
background-repeat: no-repeat;
height: 60px;
width: 60px;
}
.Topo {
background-image: url("images/topo_thumb.png");
background-repeat: no-repeat;
height: 60px;
width: 60px;
}
... View more
04-18-2012
05:26 AM
|
0
|
0
|
826
|
|
POST
|
maybe this is easier, but still related to my popup question... I click select a feature, then query 3 different related tables for info and combine into an array of objects called data. Could someone help me get data out of the following function? return {data:data}; //doesn't work
function findRelatedRecords(features,evtObj){
var selFeat = features
var featObjId = selFeat[0].attributes.OBJECTID_1
var relatedBranch = new esri.tasks.RelationshipQuery();
relatedBranch.outFields = ["*"];
relatedBranch.relationshipId = 1; //fac -to- Branch
relatedBranch.objectIds = [featObjId];
facSel.queryRelatedFeatures(relatedBranch, function(relatedBranches) {
var branchFound = false;
if(relatedBranches.hasOwnProperty(featObjId) == true){
branchFound = true;
var branchSet = relatedBranches[featObjId]
var cmdBranch = dojo.map(branchSet.features, function(feature){
return feature.attributes;
})
}
//regardless of whether a branch is found or not, we have to run the cmdMain relationship query
//the parent is still fac, no advantage of the parent being branch since cmcMain query has to be run regardless
//fac - branch - cmdMain - cmdSub <--sometimes
//fac - cmdMain - cmdSub <-- sometimes
var relatedQuery = new esri.tasks.RelationshipQuery();
relatedQuery.outFields = ["*"];
relatedQuery.relationshipId = 0; //fac -to- cmdMain
relatedQuery.objectIds = [featObjId];
//rather then listen for "OnSelectionComplete" we are using the queryRelatedFeatures callback function
facSel.queryRelatedFeatures(relatedQuery, function(relatedRecords) {
var data = []
//if any cmdMain records were found, relatedRecords object will have a property = to the OBJECTID of the clicked feature
//i.e. if cmdMain records are found, true will be returned; and continue with finding cmdSub records
if(relatedRecords.hasOwnProperty(featObjId) == true){
var fset = relatedRecords[featObjId]
var cmdMain = dojo.map(fset.features, function(feature) {
return feature.attributes;
})
//we need to fill an array with the objectids of the returned cmdMain records
//the length of this list == total number of mainCmd records returned for the clicked facility
objs = []
for (var k in cmdMain){
var o = cmdMain ;
objs.push(o.OBJECTID)
}
//second relationship query to find records related to cmdMain (cmdSub)
var subQuery = new esri.tasks.RelationshipQuery();
subQuery.outFields = ["*"];
subQuery.relationshipId = 2;
subQuery.objectIds = [objs]
subTbl.queryRelatedFeatures(subQuery)
//when the cmdMain to cmdSub query gets finished fire this function
dojo.connect(subTbl,"onQueryRelatedFeaturesComplete",function (subRecords){
//subRecords is an object where each property is the objectid of a cmdMain record
//if a cmdRecord objectid is present in subRecords property, cmdMain has sub records
//we no longer need these objectids, so we'll remove them and put the array into cmdsub
var cmdSub = []
for (id in subRecords){
dojo.forEach(subRecords[id].features, function(rec){
cmdSub.push(rec.attributes)
})
}
var j = cmdSub.length;
var p;
var sub_key;
var obj;
if (branchFound == true){
var p1 = "branch";
obj1 = {};
obj1[p1] = [cmdBranch[0].Branches]
data.push(obj1)
}
for (var i=0, iLen = cmdMain.length; i<iLen; i++) {
p = cmdMain.ASGMT_Name
obj = {};
obj
= [];
sub_key = cmdMain.sub_key;
for (var j=0, jLen=cmdSub.length; j<jLen; j++) {
if (cmdSub .sub_key == sub_key) {
obj
.push(cmdSub .Long_Name);
}
}
data.push(obj);
}
//showWin(data,evtObj)
return {data:data};
})
}
//no returned cmdRecords; cmdData not available
else{
p = "No Data Available"
obj = {}
obj
= []
data.push(obj)
}
//showWin(data,evtObj)
return {data:data};
})
})
}
function newFunc (){
var dataArray = findRelatedRecords(feat,evt)
console.log(dataArray) //would like to access data array here??
}
... View more
04-17-2012
02:17 PM
|
0
|
0
|
1788
|
|
POST
|
my problem is kind of complex (for me atleast) I Have 5 different feature layers added to the map, 2 point, 3 poly. At full scale, I'd like user's to be able click over a point and have an infoWindow display the attributes, but due to scale, they will likely select 5 total points (example): 2 pts on featlayer1 3 pts on featlayer2 (we wont' get into the poly featlayers for now) If I opt to use the built-in map.infoWindow I can use tabs to display featlayer1 & featlayer2 and their respective features, like so: featlayer1 - Tab ---Table ------Row1 - graphic.attributes.field1, graphic.attributes.field3 ------Row2 - graphic.attributes.field1, graphic.attributes.field3 featlayer2 - Tab ---Table ------Row1 - graphic.attributes.field1, graphic.attributes.field8 ------Row2 - graphic.attributes.field1, graphic.attributes.field8 ------Row2 - graphic.attributes.field1, graphic.attributes.field8 Is this a workaround for native map.infoWindow not being able to display an array of esri.tasks.IdentifyTask results?? My other option is to replace the map.infoWindow with the popup class, which would then accept an array of esri.tasks.IdentifyTask results?
... View more
04-17-2012
09:18 AM
|
0
|
0
|
1788
|
|
POST
|
The gdb I'm connecting to was created when I was using the SDE personal license; now, after i've switched to an SDE Workgroup license, it seems like the gdb still only accepts the max. # of personal license connections; almost as if this wasn't updated. I'll try creating new gdb and see what happens.
... View more
04-17-2012
06:13 AM
|
0
|
0
|
5008
|
| Title | Kudos | Posted |
|---|---|---|
| 1 | 2 weeks ago | |
| 2 | 06-19-2026 05:33 AM | |
| 1 | 05-02-2024 04:44 PM | |
| 1 | 11-04-2025 11:45 AM | |
| 1 | 10-31-2025 06:53 AM |
| Online Status |
Offline
|
| Date Last Visited |
a week ago
|