POST
|
Hi Marc, Check out the Dojo charting library here: dojox.charting — The Dojo Toolkit - Reference Guide Tim Witt's Census Application is a good example of how to use this library in an ArcGIS JavaScript app: Census Data Hope that helps! Ryan
... View more
02-23-2016
09:30 AM
|
1
|
0
|
1190
|
POST
|
Hey Dan, Have you tried: document.getElementById("slrbxC").checked = false; Note, "By" in "getElementById" should be capitalized. Ryan
... View more
02-17-2016
08:04 AM
|
0
|
2
|
6691
|
POST
|
I modified one of the samples from the API's site here and it seems to be working: Edit fiddle - JSFiddle
... View more
02-09-2016
02:15 PM
|
0
|
2
|
1239
|
POST
|
Hi John, I was able to achieve this by grabbing code from Tim Witt's sample here Javascript API - Advanced Draw widget. Hope this helps! Ryan
... View more
02-09-2016
12:56 PM
|
1
|
7
|
1239
|
POST
|
Hi Jenna, Check out this link. Edit fiddle - JSFiddle Is this what you're after? Ryan
... View more
02-08-2016
11:37 AM
|
2
|
0
|
418
|
POST
|
Hello All, I have noticed an issue in one of my apps when trying to print (with Export Web Map task) with features from a Feature Layer selected. The print task successfully runs, however every time I try to create a printout when more than one feature is selected, only one feature displays on the map. Below is the code I use to create the selection: var parcelsUrl = "http://summitmaps.summitoh.net/arcgis/rest/services/ParcelQuery/MapServer/1";
featureLayerParcel = new esri.layers.FeatureLayer(parcelsUrl, {
mode: esri.layers.FeatureLayer.MODE_SELECTION,
visible: true,
id: "Attribute Selection",
outFields: ["*"]
});
var symbol = new esri.symbol.SimpleFillSymbol(esri.symbol.SimpleFillSymbol.STYLE_NULL, new esri.symbol.SimpleLineSymbol(esri.symbol.SimpleFillSymbol.STYLE_SOLID, new dojo.Color([0, 255, 255]), 2), new dojo.Color([0, 0, 255, 0.20]));
featureLayerParcel.setSelectionSymbol(symbol);
map.addLayer(featureLayerParcel);
function queryParcels() {
featureLayerParcel.clearSelection();
parcelQuery.clearSelection();
domUtils.show(parcelSearchLoad);
var queryParcels = new esri.tasks.Query();
//switch where clause based selected search field
queryParcels.where = "PARID LIKE '" + "%" + dom.byId("parcelText").value + "'";
if (dom.byId("attributeSelector").value === "PARID") {
queryParcels.where = "PARID LIKE '" + "%" + dom.byId("parcelText").value + "%" + "'";
} else if (dom.byId("attributeSelector").value === "ADDR") {
queryParcels.where = "ADRNO LIKE '" + dom.byId("addrNum").value + "%" + "'" + "AND ADRSTR LIKE '" + dom.byId("addrText").value + "%" + "'";
} else {
queryParcels.where = "OWN1 LIKE '" + "%" + dom.byId("ownerText").value + "%" + "'";
}
featureLayerParcel.selectFeatures(queryParcels, esri.layers.FeatureLayer.SELECTION_NEW, function(features, selectionMethod) {
parcelSelection = [];
totalParcels = features.length;
document.getElementById("selectedParcels").innerHTML = features.length;
document.getElementById("totalNumberSelected").innerHTML = features.length;
for (var i = 0, il = features.length; i < il; i++) {
parcelSelection.push(features.attributes.PARID);
}
console.log(parcelSelection);
var newStore = new ItemFileReadStore({
data: {
idenitifer: "",
items: []
}
});
var grid = registry.byId("grid2");
grid.setStore(newStore);
if (features.length === 1) {
document.getElementById("parcelPosition").innerHTML = features.length;
var feature = features[0];
var parid = feature.attributes.PARID;
selectParcel(parid);
document.getElementById("selectedParcels").innerHTML = features.length;
domUtils.hide(parcelSearchLoad);
} else if (features.length > 1) {
var parcelItems = dojo.map(features, function(feature) {
return feature.attributes;
});
var parcelData = {
identifier: "OBJECTID",
items: parcelItems
};
var parcelStore = new dojo.data.ItemFileReadStore({
data: parcelData
});
var parcelGrid = registry.byId("grid2");
parcelGrid.on("rowclick", onRowClickHandler);
parcelGrid.setStore(parcelStore);
map.setExtent(graphicsUtils.graphicsExtent(featureLayerParcel.getSelectedFeatures()), true);
domUtils.hide(parcelSearchLoad);
} else {
domUtils.hide(parcelSearchLoad);
alert("No Parcels found!");
}
});
document.getElementById("oldTaxMapWidget").style.display = "none";
}
} In the webmap JSON sent to the print task, the objectIds for the selected features are included. See snippet from JSON below: {
"id":"Attribute Selection",
"title":"Attribute Selection",
"opacity":1,
"minScale":0,
"maxScale":0,
"layerDefinition":{
"drawingInfo":{
"renderer":{
"type":"simple",
"symbol":{
"color":[
0,
0,
255,
51
],
"outline":{
"color":[
0,
255,
255,
255
],
"width":1.5,
"type":"esriSLS",
"style":"esriSLSSolid"
},
"type":"esriSFS",
"style":"esriSFSNull"
}
}
},
"objectIds":[
[
26764885
],
[
26764886
],
[
26765418
],
[
26765419
],
[
26765540
],
[
26765541
],
[
26765542
]
]
},
"url":"http://summitmaps.summitoh.net/arcgis/rest/services/ParcelQuery/MapServer/1"
}, See the attached image. In this case there are 7 features selected but in the output of the print task just one feature is shown. Has anyone had this issue? Any help is appreciated! Thanks, Ryan
... View more
01-28-2016
07:42 AM
|
0
|
0
|
1529
|
POST
|
Robert, That was it. I knew it was something simple. Thank you so much! Ryan
... View more
01-26-2016
08:06 AM
|
1
|
0
|
1640
|
POST
|
Hello All, I too am having a similar issue populating a DataGrid from a query, within a Web AppBuilder widget. I looked at the corrected code that Robert posted, but can't figure out why my implementation will not work. Below is pertinent widget code. I am getting an error on the grid's setStore method. Console says, "this.dGrid.setStore is not a function". define(['dojo/_base/declare', 'jimu/BaseWidget', 'esri/tasks/query', 'dojo/keys', 'esri/geometry/Extent', 'dojo/data/ItemFileReadStore', 'esri/graphicsUtils', 'esri/symbols/SimpleFillSymbol', 'esri/symbols/SimpleLineSymbol','esri/layers/FeatureLayer', 'dojo/_base/array','dojox/grid/DataGrid', 'dojo/_base/lang', 'dojo/dom'],
function(declare, BaseWidget, Query, keys, Extent, ItemFileReadStore, graphicsUtils, SimpleFillSymbol, SimpleLineSymbol, FeatureLayer, array, DataGrid, lang, dom) {
var clickEvent, featureLayerParcel;
return declare([BaseWidget], {
baseClass: 'jimu-widget-mywidget',
name: 'My Widget',
postCreate: function() {
console.log('onPostCreate');
},
startup: function() {
this.inherited(arguments);
var layout = [
{'name': 'PARID', 'field': 'PARID', 'width': 'auto'},
{'name': 'Address', 'field': 'ADDR', 'width': 'auto'},
{'name': 'Owner', 'field': 'OWN1', 'width': 'auto'},
];
var grid = new DataGrid({
structure: layout
}, this.dGrid);
grid.startup();
console.log('startup, creating grid');
},
onOpen: function(){
console.log('onOpen');
},
onClose: function(){
console.log('onClose');
},
onMinimize: function(){
console.log('onMinimize');
},
onMaximize: function(){
console.log('onMaximize');
},
onPositionChange: function(){
console.log('onPositionChange');
},
_queryParcels: function(){
console.log(event);
if (event.keyCode === keys.ENTER || event.type === "click") {
var value = this.parcelText.value;
var parcelsUrl = "http://summitmaps.summitoh.net/arcgis/rest/services/ParcelQuery/MapServer/1";
featureLayerParcel = new esri.layers.FeatureLayer(parcelsUrl, {
mode: esri.layers.FeatureLayer.MODE_SELECTION,
visible: true,
outFields: ["*"]
});
var symbol = new esri.symbol.SimpleFillSymbol(esri.symbol.SimpleFillSymbol.STYLE_NULL, new esri.symbol.SimpleLineSymbol(esri.symbol.SimpleFillSymbol.STYLE_SOLID, new dojo.Color([0, 255, 255]), 2), new dojo.Color([0, 0, 255, 0.20]));
featureLayerParcel.setSelectionSymbol(symbol);
this.map.addLayer(featureLayerParcel);
var queryParcels, store;
queryParcels = new esri.tasks.Query();
queryParcels.where = "PARID LIKE '" + "%" + value + "'";
featureLayerParcel.selectFeatures(queryParcels, esri.layers.FeatureLayer.SELECTION_NEW, lang.hitch(this, function(features, selectionMethod) {
console.log(features.length);
this.map.setExtent(graphicsUtils.graphicsExtent(featureLayerParcel.getSelectedFeatures()).expand(3), true);
var parcelItems = array.map(features, function(feature) {
return feature.attributes;
});
store = new ItemFileReadStore({
data: {
idenitifer: "OBJECTID",
items: parcelItems
}
});
this.dGrid.setStore(store);
}));
}
}
});
}); <div>
<div>This is my widget. Hello world!</div>
<input type="number" style="width:99%" class="jimu-input" data-dojo-attach-point="parcelText" data-dojo-props="placeholder: 'Parcel Number'" data-dojo-attach-event="onKeyDown:_queryParcels"/>
<hr>
<input type="button" value="Search" class="jimu-btn" data-dojo-attach-point="queryParcelButton" data-dojo-attach-event="onclick:_queryParcels">
<hr>
<div data-dojo-attach-point="dGrid"></div>
</div> Any help is much appreciated! Ryan
... View more
01-26-2016
07:26 AM
|
0
|
2
|
1640
|
POST
|
Apologies for the delayed response! Because the functionality was not a priority in the project I was working on, I didn't spend too much time trying to figure this one out, thus I do not I have a solution to the issue. Jordan, thanks for the note. If I get some spare time, I will try to take a look at this again with your suggestions in mind. Thanks! Ryan
... View more
01-13-2016
10:10 AM
|
0
|
1
|
716
|
POST
|
Robert, Makes good sense. Thank you for the explanation! Ryan
... View more
12-16-2015
12:24 PM
|
0
|
0
|
386
|
POST
|
That's it! Thank you so much! If you get a chance, could you describe what was happening? Thank you again! Ryan
... View more
12-16-2015
12:15 PM
|
0
|
2
|
2716
|
POST
|
Hi Robert, I know I marked this thread as answered, but I am still having some issues implementing the code you supplied. Creating a link and calling a function when that link is clicked is no longer the issue. Rather, my problem now occurs after the pop up is shown and set (after the map click event). When I try to click the map again, with the popup window still open, I get a message in the console saying "Cannot read property '_layer' of undefined". The same is happening with the sample you posted above. Any ideas why this is happening? Ryan
... View more
12-16-2015
11:52 AM
|
0
|
4
|
2716
|
POST
|
Hello All, I am trying to give users access to Old Tax Map Images that my organization has available on a web server. In short, each parcel in my County can been viewed on one of these Old Tax Map images. Parcels are tied to an image based on an Old Tax Map Id. I have been trying to come up with the best way to view these image based on a few requirements. The user needs to be able to zoom in on the image (there is small hand written text on the each image) and the user needs to be able to print the images (at the full extent of the image as well as when the map zoomed in). That being said, I have a working sample in a hacked up development app that adds the images to another map instance as a MapImage in a MapImageLayer. The way I have it set up is there's an index map on the left that has polygons representing the parcels in each tax map image. When the user clicks on a polygon, I remove the previous image from the MapImageLayer and add the new one. Its working great until I go to print (which is done in the "Print Old Tax Map" tab in the left pane. I get inconsistent results with the output - sometimes the image appears, most of the time it doesn't at all. Has anyone ever experienced issues when trying to print a map with a MapImageLayer in it, via an ArcGIS Server print service? Here's the link to my development app. County of Summit: Parcel Viewer Right now I have it set up so on load, a specific tax map image is added and the index map on the left zooms to that image's polygon. Any help is much appreciated!! Thanks, Ryan
... View more
12-11-2015
08:45 AM
|
0
|
4
|
3173
|
POST
|
No worries at all! I will make your sample work. Thanks for answering my initial question. Ryan
... View more
12-08-2015
03:17 PM
|
0
|
0
|
2716
|
POST
|
Robert, That's great! I never thought of hiding the link in the templates it does not need to be in. However, given the nature of the function I am calling, it would be ideal have the link below the two others already present (Property Record Card & Recorded Documents) and not in the actions list section next to "Zoom to". Do you know of a way to get the link in the same area as the others? If not, no biggie. I can certainly make the sample you provided me with work. Thank you again for all your help! Ryan
... View more
12-08-2015
02:23 PM
|
0
|
2
|
2716
|
Title | Kudos | Posted |
---|---|---|
1 | 03-05-2015 11:12 AM | |
1 | 11-25-2015 11:45 AM | |
1 | 11-26-2015 06:59 AM | |
1 | 02-09-2016 12:56 PM | |
1 | 11-18-2015 11:22 AM |
Online Status |
Offline
|
Date Last Visited |
11-11-2020
02:24 AM
|