|
POST
|
Are you asking if you can create a tile service outside of ArcGIS Server? You mentioned the API, which can be hosted locally, but it doesn't sound like this is what you're looking to accomplish.
... View more
01-08-2020
12:58 PM
|
0
|
13
|
2453
|
|
POST
|
Oh, and to answer your other question, this is also an issue with the sketch widget.
... View more
10-29-2019
09:19 PM
|
0
|
10
|
7223
|
|
POST
|
Noah, thanks for reaching-out... presumably, it will occur with any widgets containing button elements missing type="button". I can work on developing a simplified ASP.NET app and attach when I can, but I do have a kludgy jQuery workaround. The easiest solution would be for Esri to add type attributes to the widget in the API. Here's the HTML as modified by my workaround (all of the button elements were missing type="button" from the API): <div class="esri-print esri-widget esri-widget--panel" data-node-ref="_rootNode">
<div>
<div class="esri-print__container">
<header class="esri-print__header-title">Export</header>
<div>
<ul class="esri-print__layout-tab-list" role="tablist">
<li id="16e19dffab1-widget-4__layoutTab" data-tab-id="layoutTab" class="esri-print__layout-tab" role="tab" tabindex="0" aria-selected="true">Layout</li>
<li id="16e19dffab1-widget-4__mapOnlyTab" data-tab-id="mapOnlyTab" class="esri-print__layout-tab" role="tab" tabindex="0" aria-selected="false">Map Only</li>
</ul>
<section id="16e19dffab1-widget-4__layoutContent" aria-labelledby="16e19dffab1-widget-4__layoutTab" class="esri-print__layout-section" role="tabpanel">
<div class="esri-print__panel-container">
<div class="esri-print__form-section-container">
<label>Title
<input type="text" tabindex="0" placeholder="Title of file" class="esri-print__input-text esri-input" data-input-name="title">
</label>
</div>
<div class="esri-print__form-section-container">
<label>Page setup
<select class="esri-select" data-target-property="layout">
<option value="letter-ansi-a-landscape">Letter ANSI A Landscape</option>
<option value="a3-landscape">A3 Landscape</option>
<option value="a3-portrait">A3 Portrait</option>
<option value="a4-landscape">A4 Landscape</option>
<option value="a4-portrait">A4 Portrait</option>
<option value="letter-ansi-a-portrait">Letter ANSI A Portrait</option>
<option value="tabloid-ansi-b-landscape">Tabloid ANSI B Landscape</option>
<option value="tabloid-ansi-b-portrait">Tabloid ANSI B Portrait</option>
</select>
</label>
</div>
<div class="esri-print__form-section-container">
<label>File format
<select class="esri-select" data-target-property="format">
<option value="pdf">PDF</option>
<option value="png32">PNG32</option>
<option value="png8">PNG8</option>
<option value="jpg">JPG</option>
<option value="gif">GIF</option>
<option value="eps">EPS</option>
<option value="svg">SVG</option>
<option value="svgz">SVGZ</option>
</select>
</label>
</div>
</div>
<div class="esri-print__panel-container esri-print__advanced-options-section">
<button aria-label="Advanced Options" aria-expanded="true" role="button" class="esri-print__advanced-options-button" type="button">
<div class="esri-print__advanced-options-button-container"><span aria-hidden="true" class="esri-icon-right-triangle-arrow esri-print__advanced-options-button-icon--closed"></span><span aria-hidden="true" class="esri-icon-left-triangle-arrow esri-print__advanced-options-button-icon--closed-rtl"></span><span aria-hidden="true" class="esri-icon-down-arrow esri-print__advanced-options-button-icon--opened"></span><span class="esri-print__advanced-options-button-title">Advanced Options</span></div>
</button>
<div aria-labelledby="16e19dffab1-widget-4__advancedOptionsForLayout" class="esri-print__advanced-options-container">
<div class="esri-print__scale-info-container esri-print__form-section-container">
<label>
<input type="checkbox" data-option-name="scaleEnabled" tabindex="0">Set scale</label>
<div class="esri-print__scale-input-container">
<input type="number" aria-label="scale" aria-valuenow="9244648.868618" role="spinbutton" class="esri-print__input-text esri-input esri-print__scale-input" tabindex="0" data-input-name="scale" disabled="">
<button role="button" aria-label="reset" class="esri-widget--button esri-print__refresh-button esri-icon-refresh" tabindex="0" type="button"></button>
</div>
</div>
<div class="esri-print__author-info-container esri-print__form-section-container">
<label>Author
<input type="text" class="esri-print__input-text esri-input" tabindex="0" data-input-name="author">
</label>
</div>
<div class="esri-print__copyright-info-container esri-print__form-section-container">
<label>Copyright
<input type="text" class="esri-print__input-text esri-input" tabindex="0" data-input-name="copyright">
</label>
</div>
<div class="esri-print__form-section-container">
<label>DPI
<input type="number" class="esri-print__input-text esri-input" data-input-name="dpi" min="1" tabindex="0">
</label>
</div>
<div class="esri-print__legend-info-container esri-print__form-section-container">
<label>
<input type="checkbox" data-option-name="legendEnabled" tabindex="0">Include legend</label>
</div>
</div>
</div>
</section>
<button aria-label="Export. Exported files will appear below." role="button" class="esri-print__export-button esri-button" tabindex="0" type="button">Export</button>
<div class="esri-print__export-panel-container">
<h3 class="esri-print__export-title esri-widget__heading">Exported Files</h3>
<div>
<div>Your exported files will appear here.</div>
</div>
</div>
</div>
</div>
</div>
</div>
... View more
10-29-2019
03:40 PM
|
0
|
11
|
7223
|
|
POST
|
Hello, I believe I've encountered a bug with the v4 print widget, which is causing a postback when clicking button elements. For instance, "Advanced Options", "Refresh", "Map Only", "Export" causes a postback on an aspx in Chrome. One solution is to add the widget outside of the form tag, e.g. as indicated by ArcGIS JavaScript API 4.11 - Print causes Postback Issue in asp.net - Stack Overflow. However, the built-in widgets are designed to make it easier to develop and to stay within the widget "ecosystem", so this isn't a preferable solution for me. Another solution is to add the "type" attribute, as "button", which is actually something recommended by W3 - https://www.w3docs.com/learn-html/html-button-tag.html: The <button> tag doesn’t have required attributes; however, we recommend always use the type=”button” attribute, if the tag used as an ordinary button. The recommendation is made as browsers determine default behavior. In my case, when using Chrome on an aspx, it is using "submit" behavior. I have a solution to iterate over the widget elements in jQuery to add the type attribute, but it's a kludge (we have to detect when the widget is loaded and when hidden elements are made visible). Also, styling of the "Layout" and "Map Only" buttons at the top changes, so that's something else that will need manual correction. Is there a better solution/recommendation? Is Esri working on a fix? Thanks!
... View more
10-24-2019
02:12 PM
|
1
|
14
|
9559
|
|
POST
|
And I did see in the FAQ - Frequently Asked Questions | ArcGIS API for JavaScript 4.12 We release four times a year. Version 4.12 is planned for summer 2019, and version 4.13 is planned for fall 2019. I'm hoping to narrow it down between now and December 21st, lol!
... View more
10-09-2019
01:55 PM
|
0
|
3
|
1823
|
|
POST
|
Hello, I recently tried upgrading from v4.10 to v4.12 and encountered some breaking changes where my choropleth lost its fill. v4.11 is not affected, and from my understanding, v4.12 implemented a paradigm shift for performance improvements - renderers not working correctly appears to be a common complaint, maybe from the following in the release notes: As part of performance optimizations, incorrect polygon geometries that don't follow the expected clockwise order, no longer display. Polygon rings should be clockwise, with counterclockwise rings considered holes. I am fetching a geojson from ArcGIS Server; a copy of those data has been attached (geom.geojson). Here's a screenshot from the debugger: ...and the code I'm using to create the graphics: data = jsonData;
const graphicsPromise = promiseUtils.create(function (resolve,
reject) {
const graphics = data.features.map(function (feature, i) {
// create a polygon instance from the GeoJSON data
const polygon = new Polygon({
//spatialReference: SpatialReference.WGS84
spatialReference: new SpatialReference(6343)
});
// read the GeoJSON's geometry and add to the polygon rings
feature.geometry.coordinates.forEach(function (coord) {
const coordinates = feature.geometry.type ===
"MultiPolygon" ? coord[0] : coord;
polygon.addRing(coordinates);
});
const graphic = {
geometry: polygon,
attributes: feature.properties
};
return graphic;
}); Here's what's rendering: ...and the renderer in the FeatureLayer: renderer: {
type: "class-breaks",
defaultLabel: "No data",
defaultSymbol: defaultSym,
visualVariables: [{
type: "color",
field: "val",
stops: [{
value: minMax.min,
color: "#cce3ff"
}, {
value: minMax.max,
color: "#0034b7"
}
]
}
]
} In 4.13 and version < 4.12, it works fine: I noticed there were some breaking changes to a module I wasn't using, so I removed it... but, this does have me concerned since we'd be using a version that isn't supposed to be live yet. When will it deploy officially? Do we know yet what the issue is? I see some talk about loading rings clockwise... shouldn't everything be OK if I'm pulling geojson from a query against an ArcGIS Server (v10.6) REST node on a layer that checks-out topologically?
... View more
10-09-2019
01:48 PM
|
0
|
5
|
1943
|
|
POST
|
Ok, so I just created a function to loop the elements and assigned color based on three classes as a function of the cluster pixel size.
... View more
06-11-2019
02:56 PM
|
0
|
0
|
1364
|
|
POST
|
Inspecting the DOM, I can see there is a way I could loop over the radius vals and roll my own classification: It would be preferable to take advantage of the API, though, if it's supported.
... View more
06-11-2019
12:40 PM
|
0
|
2
|
1364
|
|
POST
|
Hello, I understand featureReduction in v4 isn't yet on par with v3, so in v3, is it possible to render cluster colors by size? For example: https://developers.arcgis.com/javascript/3/jssamples/fl_clustering_toggle.html ...rather than using Drawing/Rendering Info from the service: https://services.arcgis.com/V6ZHFr6zdgNZuVG0/ArcGIS/rest/services/socal_precincts_points_2008/FeatureServer//layers ...I'd like to have a renderer based on cluster size as determined by featureReduction. Something more like this: https://leaflet.github.io/Leaflet.markercluster/example/marker-clustering-realworld.388.html Is this possible? Thanks!
... View more
06-11-2019
12:28 PM
|
0
|
3
|
1458
|
|
POST
|
Looking over the documentation for CSVLayerView, I see there is a property maximumNumberOfFeatures: maximumNumberOfFeatures Number Since: ArcGIS API for JavaScript 4.10 The maximum number of features that can be displayed at a time. This setting currently only applies to SceneView. By default, the maximum number of features is estimated automatically depending on the symbology, geometry complexity, memory consumption and display quality profile. Changing this setting to a higher value may lead to a significant decrease in performance and increase in memory usage. The way this reads, it only applies to SceneView and not a 2D MapView. I can confirm the JSAPI throws console errors if you attempt to set it. The problem with this is, I believe filter is only scrapping top xx records. When I apply something similar to: Snippet lv.filter = { where: "col_field like '%" + val+ "%'"}; ...the matching results are unexpectedly low, and it more-or-less matches top xx in the CSV. Is there a plan to allow the maximumNumberOfFeatures property in a future release? Am I understanding the limitation correctly, and is there a performant workaround? In my usecase, we are filtering as users are typing into an input box...
... View more
04-11-2019
12:43 PM
|
0
|
1
|
769
|
|
POST
|
Looking at this sample - https://developers.arcgis.com/javascript/latest/sample-code/visualization-heatmap/index.html - I'm trying to figure-out the best way to change the labels "High" and "Low" to something else. There are some ways I can do this in CSS/jQuery, but I feel like there must be a way in the API natively, maybe using AuthoringInfo? Any ideas?
... View more
04-10-2019
11:16 AM
|
0
|
0
|
647
|
|
POST
|
I worked with Esri tech support who confirmed that it is not possible to auth using the Proxy against Portal this way. We would need to revert to ArcGIS Server and use roles, like we've done in the past, or we'd need to publish an unsecured service.
... View more
03-20-2019
09:07 AM
|
1
|
0
|
3957
|
|
POST
|
Randall, Some information on what I'm trying to do... here's the Esri sample from which I'm working: Directions widget | ArcGIS API for JavaScript 4.10 In the DirectionsViewModel - DirectionsViewModel | API Reference | ArcGIS API for JavaScript 4.10 - I am wanting to set the routeServiceUrl property to the REST endpoint of the routing service I have running in Server, now listed as a Utility in Portal: Per the Esri Proxy documentation (GitHub - Esri/resource-proxy: Proxy files for DotNet, Java and PHP. ), I expect to add this in the config file: ...so the app can consume the network service without a log-in prompt. I had no problems doing this sort of thing with username/password creds stored server-side in the Proxy config before Portal was installed. Back in Portal, the NAS utility doesn't list clientID/clientSecret. I tried adding a Web Mapping application in Portal and pointing it to the NAS, which does allow registering and a redirect URI, and supplies a clientID/clientSecret. I can then use this to obtain a token hitting https://myServerGIS/portal/sharing/rest/oauth2/token. However, the token returned is not accepted by an example query - it reports that the token is invalid.
... View more
03-04-2019
09:50 AM
|
0
|
0
|
3957
|
|
POST
|
Thanks for the info - I was successful in generating a token, but it was not accepted by the networking service. I did come across this document: Publish Routing Services utility—ArcGIS Server Administration (Windows) | ArcGIS Enterprise I do see our networking service listed as a utility service... what is the proper way of obtaining a token to consume this in the JSAPI? I don't see anywhere in settings where clientID/appSecret are listed.
... View more
03-01-2019
02:05 PM
|
0
|
1
|
3957
|
| Title | Kudos | Posted |
|---|---|---|
| 1 | 06-16-2020 01:25 PM | |
| 1 | 03-20-2019 09:07 AM | |
| 2 | 07-31-2015 07:31 AM | |
| 1 | 09-14-2015 12:14 PM | |
| 1 | 05-12-2015 12:04 PM |
| Online Status |
Offline
|
| Date Last Visited |
07-27-2023
02:30 AM
|