IDEA
|
Absolutely, this may be a deal breaker for my client using the program or not - they need to collect boundaries in the field and collect way points as they go. It is much too time consuming for them to stop a line add attributes, add a point, save it, continue collecting line....This is a must-have for our industry.
... View more
06-17-2016
01:58 PM
|
3
|
2
|
2672
|
POST
|
Kelly Hutchins This seems to be a similar issue in WAB. I just created a custom geoprocessing service for my print so i could add custom print templates and when I go to print my maps, only filled polygons and lines will show in the legend. Any thoughts on this?
... View more
04-29-2016
12:59 PM
|
0
|
0
|
950
|
POST
|
I have an issue that I am trying to solve. My initial problem was trying to figure out a way of identifying all visible FeatureServiceLayers on the map - however the only resolution I could find for that was to have all the layers to be identified within a single Dynamic Service Layer. So, going that route (unles there's another option?) I need to find a way to show the Dynamic Service Layers in a table of contents with each layer being able to have a transparency slider for specific layers. It would also be able to group features within a single Service Layer under seperate headings (without having to create new mxds for each grouping) like I would by placing Feature Service Layers into <div> sections. I may have confused the situation, please ask for any clarification needed... Thanks, Shelley
... View more
08-28-2014
11:33 AM
|
0
|
0
|
704
|
POST
|
I have implemented the InfoWindow with TabContainer to work with my InfoTemplate which, when my layer is identified works beautifully with the custom attributes that I have set up. However, when trying to implement a second InfoTemplate, the result is blank. I know that I am missing a function somewhere which will allow the reading of multiple service layers but I'm not sure which to implement and how to implement it
var infoWindow = new InfoWindow(null, domConstruct.create("div"));
infoWindow.startup();
map = new Map("map", {
center: [-119.152, 50.40],
zoom: 8,
basemap: "topo",
infoWindow: infoWindow
});
map.infoWindow.resize(300,300);
var home = new HomeButton({
map: map
}, "HomeButton");
home.startup();
var scalebar = new Scalebar({
map: map,
// "dual" displays both miles and kilmometers
// "english" is the default, which displays miles
// use "metric" for kilometers
scalebarUnit: "metric"
});
var toggle = new BaseMapToggle({
map: map,
basemap: "hybrid",
bingMapsKey: "As1ihAUhwYD1Q583Ka6RLQZjMHV85t9Zve6xQJePqmmPTStjNlR5FJmGWEj5xdLJ"
}, "BaseMapToggle");
toggle.startup();
map.on("zoom-end", showScale);
map.on("load", showScale);
function numberWithCommas(x) {
return x.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
}
function showScale(evt){
var ms = map.getScale()
dojo.byId("scaleText").innerHTML = "<center><b>Scale</b><br>1:" + numberWithCommas(ms.toFixed(0));
}
//#########################################################################################################################################
//Create info template to hold the content inside
var vliTemplate = new InfoTemplate();
vliTemplate.setTitle("VLI");
vliTemplate.setContent(getWindowContent);
function getWindowContent(graphic) {
//make a tab container
var tc1 = new TabContainer({
style:"width:100%;height:100%;",
useMenu: false,
useSlider:false,
}, dojo.create("div"));
ar cp1vli = new ContentPane({
//add content to identity popup based on attributes of layer service
title: "Current",
content: "<b>VLI Number:</b><td>"+graphic.attributes.VLI_VLI_NO+"</tr></td>"
});
var cp2vli = new ContentPane({
title: "Approved",
content: "<b>VLI Number:</b><td>"+graphic.attributes.VLI_NO+"</tr></td>"
});
tc1.addChild(cp1vli);
tc1.addChild(cp2vli);
return tc1.domNode;
}
//Second InfoTemplate would be placed under here, assumably set up the same way but changing the variables so that they are not exactly the same as the previous one
I have looked at a ton of templates but so far I can't figure out which one is the right one or how to implement them into my code. Thanks
... View more
05-30-2014
08:55 AM
|
0
|
0
|
299
|
POST
|
Were you able to get the first tab to populate on initial click? I used your code as an example and the first tab did not populate on initial click. The second tab populated on click and the first tab populated upon switching back from the second tab. Does that make sense? Actually, I did get it to work - i copied my cp2 stuff into cp1 and it worked just fine and I just built from there with beautiful results. I'm now faced with another issue though. I have multiple service layers that I need to create these popups for. The first one (as shown above) works fine when clicked on, but then when I add a second infoTemplate and TabContainer, the window shows up empty (no error, no words...just empty) How do I make it work for multiple layers? Somehow it seems to only be calling the graphics layer for my first infoTemplate.
//VQO
//Create info template to hold the content inside
var vliTemplate = new InfoTemplate();
vliTemplate.setTitle("VLI");
vliTemplate.setContent(getWindowContent);
function getWindowContent(graphic) {
//make a tab container
var tc1 = new TabContainer({
style:"width:100%;height:100%;",
useMenu: false,
useSlider:false,
}, dojo.create("div"));
//add content pane 1 and 2 - these are the tabs
//set variables for calculations and for font colour changes
var cl = "green"
var greenedcur = number.round(graphic.attributes.Tbl_ResultSummary_VQO_HA - graphic.attributes.Tbl_ResultSummary_VQO_Not_Greened_Up_Ha,0);
var greenedapp = number.round(graphic.attributes.HA - graphic.attributes.Not_Greened_Up_Ha,0);
var surplusDefcur = number.round(graphic.attributes.Tbl_ResultSummary_VQO_Target_Ha - graphic.attributes.Tbl_ResultSummary_VQO_Not_Greened_Up_Ha,0);
if (surplusDefcur < 0)
{
cl = "red"
};
var surplusDefapp = number.round(graphic.attributes.Target_Ha - graphic.attributes.Not_Greened_Up_Ha,0);
if (surplusDefapp < 0)
{
cl = "red"
};
var cp1vli = new ContentPane({
//add content to identity popup based on attributes of layer service
title: "Current",
content: "<b>VLI Number:</b><td>"+graphic.attributes.VLI_VLI_NO+"</tr></td>"+
"<br><tr><b>VQO: </b><td>"+graphic.attributes.Tbl_ResultSummary_VQO_EVQO_CD+"</tr></td>"+
"<br><tr><b>VAC: </b><td>"+graphic.attributes.Tbl_ResultSummary_VQO_VAC_FIN_CD+"</tr></td>"+
"<br><tr><b>CFLB Area: </b><td>"+number.round(graphic.attributes.Tbl_ResultSummary_VQO_CFLBarea,0)+" Ha</tr></td>"+
"<br><tr><b>THLB Area: </b><td>"+number.round(graphic.attributes.Tbl_ResultSummary_VQO_THLBarea,0) +" Ha</tr></td>"+
"<br><tr><b>Total Area: </b><td>"+number.round(graphic.attributes.Tbl_ResultSummary_VQO_HA,0) +" Ha</tr></td>"+
"<br><tr><b>Greened Up Height: </b><td>"+number.round(graphic.attributes.Tbl_ResultSummary_VQO_Height,0)+" m</tr></td>"+
"<br><tr><b>Not Greened Up CFLB: </b><td>"+number.round(graphic.attributes.Tbl_ResultSummary_VQO_Not_Greened_Up_Ha,0)+" Ha</tr></td>"+
"<br><tr><b>Greened Up CFLB:</b><td>"+greenedcur+" ha</tr></td>"+
"<br><tr><b>Maximum Target Percent: </b><td>"+number.round(graphic.attributes.Tbl_ResultSummary_VQO_Pct_tgt,0)+"%</tr></td>"+
"<br><tr><b>Maximum Target: </b><td>"+number.round(graphic.attributes.Tbl_ResultSummary_VQO_Target_Ha,0)+" Ha</tr></td>"+
"<br><tr><b>Surplus/Deficit: </b><td><font color = "+cl+">"+surplusDefcur+" Ha</font></tr></td>"
});
var cp2vli = new ContentPane({
title: "Approved",
content: "<b>VLI Number:</b><td>"+graphic.attributes.VLI_NO+"</tr></td>"+
"<br><tr><b>VQO: </b><td>"+graphic.attributes.EVQO_CD+"</tr></td>"+
"<br><tr><b>VAC: </b><td>"+graphic.attributes.VAC_FIN_CD+"</tr></td>"+
"<br><tr><b>CFLB Area: </b><td>"+number.round(graphic.attributes.CFLBarea,0)+" Ha</tr></td>"+
"<br><tr><b>THLB Area: </b><td>"+number.round(graphic.attributes.THLBarea,0) +" Ha</tr></td>"+
"<br><tr><b>Total Area: </b><td>"+number.round(graphic.attributes.HA,0) +" Ha</tr></td>"+
"<br><tr><b>Greened Up Height: </b><td>"+number.round(graphic.attributes.Height,0)+" m</tr></td>"+
"<br><tr><b>Not Greened Up CFLB: </b><td>"+number.round(graphic.attributes.Not_Greened_Up_Ha,0)+" Ha</tr></td>"+
"<br><tr><b>Greened Up CFLB:</b><td>"+greenedapp+" ha</tr></td>"+
"<br><tr><b>Maximum Target Percent: </b><td>"+number.round(graphic.attributes.Pct_tgt,0)+"%</tr></td>"+
"<br><tr><b>Maximum Target: </b><td>"+number.round(graphic.attributes.Target_Ha,0)+" Ha</tr></td>"+
"<br><tr><b>Surplus/Deficit: </b><td><font color = "+cl+">"+surplusDefapp+" Ha</font></tr></td>"
});
tc1.addChild(cp1vli);
tc1.addChild(cp2vli);
return tc1.domNode;
}
//#########################################################################################################################################
//Okanagan Mule Deer
var okmdTemplate = new InfoTemplate();
okmdTemplate.setTitle("Okanagan Mule Deer");
okmdTemplate.setContent(getWindowContent2);
function getWindowContent2(graphic2) {
//make a tab container
var tc2 = new TabContainer({
style:"width:100%;height:100%;",
useMenu: false,
useSlider:false,
}, dojo.create("div"));
//add content pane 1 and 2 - these are the tabs
//set variables for calculations and for font colour changes
//var cl = "green"
//var EarlyPCTcur = number.round(graphic2.attributes.CFLBarea * 0.3,0);
//var EarlyPCTapp = number.round(graphic2.attributes.CFLBarea_1 * 0.3,0);
/*var surplusDefcur1 = number.round((graphic2.attributes.CFLBarea*0.3) - graphic2.attributes.EarlyArea,0);
if (surplusDefcur1 < 0)
{
cl = "red"
};
var surplusDefapp1 = number.round((graphic2.attributes.CFLBarea_1*0.3) - graphic2.attributes.EarlyArea_1,0);
if (surplusDefapp1 < 0)
{
cl = "red"
};
var surplusDefcur2 = number.round(graphic2.attributes.Total_Habitat - graphic2.attributes.SIC_Target_HA,0);
if (surplusDefcur2 < 0)
{
cl = "red"
};
var surplusDefapp2 = number.round(graphic2.attributes.Total_Habitat_1 - graphic2.attributes.SIC_Target_HA_1,0);
if (surplusDefapp2 < 0)
{
cl = "red"
}; */
var cp1okmd = new ContentPane({
//add content to identity popup based on attributes of layer service
title: "Current",
content: "<tr><b>Planning Cell:</b> <td>"+graphic2.attributes.tuwr_u_8_001_pcell+" </tr></td>"+
"<br><tr><b>Contains Mod SPZ: </b><td>"+graphic2.attributes.Contains_Mod_SPZ+"</tr></td>"+
"<br><tr><b>IDFmw: </b><td>"+graphic2.attributes.IDFmw_1+"</tr></td>"+
"<br><tr><b>CFLB Area: </b><td>"+number.round(graphic2.attributes.CFLBarea,0)+" Ha</tr></td>"+
"<br><tr><b>Early Seral: </b><td>"+number.round(graphic2.attributes.EarlyArea,0)+" Ha</tr></td>"+
//"<br><tr><b>Early Max[30%] Target: </b><td>"+EarlyPCTcur+" Ha</tr></td>"+
//"<br><tr><b>Surplus Deficit: </b><td><font color = "+cl+">"+surplusDefcur1+" Ha</font></tr></td>"+
"<br><tr><b>THLB Cover Habitat: </b><td>"+number.round(graphic2.attributes.THLB_Habitat,0)+" Ha</tr></td>"+
"<br><tr><b>CFLB Cover Habitat: </b><td>"+number.round(graphic2.attributes.CFLB_Habitat,0)+" Ha</tr></td>"+
"<br><tr><b>Total Cover Habitat: </b><td>"+number.round(graphic2.attributes.Total_Habitat,0)+" Ha</tr></td>"+
"<br><tr><b>Cover [SIC] Minimum Target: </b><td>"+number.round(graphic2.attributes.SIC_Target_HA,0)+" Ha</tr></td>"
//"<br><tr><b>Surplus/Deficit: </b><td><font color = "+cl+">"+surplusDefcur2+" Ha</font></tr></td>"
});
var cp2okmd = new ContentPane({
title: "Approved",
content: "<tr><b>Planning Cell:</b> <td>"+graphic2.attributes.tuwr_u_8_001_pcell_12+" </tr></td>"+
"<br><tr><b>Contains Mod SPZ: </b><td>"+graphic2.attributes.Contains_Mod_SPZ_1+"</tr></td>"+
"<br><tr><b>IDFmw: </b><td>"+graphic2.attributes.IDFmw_1_1+"</tr></td>"+
"<br><tr><b>CFLB Area: </b><td>"+number.round(graphic2.attributes.CFLBarea_1,0)+" Ha</tr></td>"+
"<br><tr><b>Early Seral: </b><td>"+number.round(graphic2.attributes.EarlyArea_1,0)+" Ha</tr></td>"+
//"<br><tr><b>Early Max[30%] Target: </b><td>"+EarlyPCTapp+" Ha</tr></td>"+
//"<br><tr><b>Surplus Deficit: </b><td><font color = "+cl+">"+surplusDefapp1+" Ha</font></tr></td>"+
"<br><tr><b>THLB Cover Habitat: </b><td>"+number.round(graphic2.attributes.THLB_Habitat_1,0)+" Ha</tr></td>"+
"<br><tr><b>CFLB Cover Habitat: </b><td>"+number.round(graphic2.attributes.CFLB_Habitat_1,0)+" Ha</tr></td>"+
"<br><tr><b>Total Cover Habitat: </b><td>"+number.round(graphic2.attributes.Total_Habitat_1,0)+" Ha</tr></td>"+
"<br><tr><b>Cover [SIC] Minimum Target: </b><td>"+number.round(graphic2.attributes.SIC_Target_HA_1,0)+" Ha</tr></td>"
//"<br><tr><b>Surplus/Deficit: </b><td><font color = "+cl+">"+surplusDefapp2+" Ha</font></tr></td>"
});
tc2.addChild(cp1okmd);
tc2.addChild(cp2okmd);
return tc2.domNode;
}
... View more
05-29-2014
09:42 AM
|
0
|
0
|
282
|
POST
|
**Edit** So I was able to get everything to work fine, still not sure what fixed it. Anyways, in a Content Pane, can I still run a switch case on my data so that calculations can be performed to populate my attributes field? For example in an InfoTable i would have had: //"<br><tr><b>Calculation needed: </b><td>${calculate:compare6}Ha</tr></td>" And then below I would have put in compare6 = function (value,key,data) {
var result = "", diff;
perform calculation to get area
switch (key) {
case "calculate":
diff = data.calculation1 - data.calculation2;
break;
}
How would this same task be performed when using graphic.attributes.data?? **END EDIT** I have been struggling to get my attributes to show up in my TabContainer which I have placed inside an InfoTemplate. var infoWindow = new InfoWindow(null, domConstruct.create("div"));
infoWindow.startup();
map.infoWindow.resize(300,300);
//Operating area
var opareaTemplate = new InfoTemplate("Operating Area", "${OP_AREA}" )
//Create info template to hold the content inside
var vliTemplate = new esri.InfoTemplate();
vliTemplate.setTitle("VLI");
vliTemplate.setContent(getWindowContent);
//
function getWindowContent(graphic) {
//VQO
//make a tab container
var tc = new dijit.layout.TabContainer({
style:"width:100%;height:100%;",
useMenu: false,
useSlider:false,
}, dojo.create("div"));
//add content pane 1 and 2 - these are the tabs
var cp1 = new dijit.layout.ContentPane({
title: "Current",
content: "Visual: <tr><b>VLI Number:</b> <td>" + graphic.attributes.Tbl_ResultSummary_VQO_CFLBarea + "</tr></td>"
});
var cp2 = new dijit.layout.ContentPane({
title: "Approved",
content: "<br><tr><b>VQO: </b><td>\${Tbl_ResultSummary_VQO_EVQO_CD}</tr></td>"
});
tc.addChild(cp1);
tc.addChild(cp2);
return tc.domNode;
} When I click on my layer service, I get the popup with the tabs as desired, however the attributes that are supposed to be collected from graphic.attributes.data shows up as "Undefined" and where I tried to replicate the code from my original infoTemplate code in my cp2 tab just show up as text: VQO: ${Tbl_ResultSummary_VQO_EVQO_CD} What am I missing?
... View more
05-28-2014
12:44 PM
|
0
|
2
|
691
|
POST
|
I have figured out why my .xap was not updating, there were errors being generated - now I have to figure out how to remove scalebar from everything and replace it with scaleline, hopefully that will fix it....
... View more
07-05-2013
03:42 PM
|
0
|
0
|
237
|
POST
|
This might be a really silly question but I'm at a point where I want to customize my web application - I'm not very familiar with coding and how everything is all packaged together - I know when I rebuild the application the xap file should update and then my changes displayed, but it doesn't seem to show my changes on my web application. I am using the Glass template using the Silverlight API, and all I am really trying to do at this point in time, to make sure it is working, is to change the application title: [ATTACH=CONFIG]25750[/ATTACH] I have changed the code in the GlassStyle.xaml to <System:String x:Key="ApplicationTitle">Westbank First Nations Data Management Tool</System:String> , I rebuild the application, copy the xap over to my server, and nothing changes. Any suggestions?
... View more
07-05-2013
12:56 PM
|
0
|
1
|
434
|
POST
|
Is there anyway to add the legend symbol to the list of check boxes? I would like to just have the check boxes so that user does not have to switch back and forth. The API reference does not have anything in it on this. Does anyone know of a good work around? Thanks Example [ATTACH=CONFIG]16448[/ATTACH] Did you ever find a solution to your problem? I would love to see this as I find the two panes are just not that appealing to switch back and forth on.
... View more
06-20-2013
02:26 PM
|
0
|
0
|
1118
|
POST
|
norcalheidi did you ever get an answer to your problem? I have been beating my head over this for both the Silverlight API and the JS API.
... View more
06-20-2013
02:25 PM
|
0
|
0
|
1118
|
POST
|
I came across this post when having a similar issue I have cadastral lots and there are a few lots that in the attributes display as the same feature however the polygons are broken up into about 5 smaller polygons A few problems that I am having with the dissolve tool a) the one field I would use for unique values has some empty fields and therefore not really usable for dissolve b) if I was to get the dissolve to work for my problem how do I get all my attributes back that were lost doing the dissolve without adding any extra fields??
... View more
04-19-2012
08:50 PM
|
0
|
0
|
3910
|
Title | Kudos | Posted |
---|---|---|
3 | 06-17-2016 01:58 PM |
Online Status |
Offline
|
Date Last Visited |
11-11-2020
02:23 AM
|