POST
|
Thank you for the workaround link, and following up. Unfortunately, I need to have the js api send a custom layer on the fly to the print service as a convenience for the user. I could have a great map created by our GIS department, legend labels and all, but that defeats the purpose of a web app print service. Again, thanks for the follow-up. You are more optimistic than myself regarding it getting fixed
... View more
12-30-2019
06:04 PM
|
1
|
0
|
489
|
POST
|
No, it has not. It just gets kicked down the "it's a known issue" road, someone tries to generate a "ticket", and it gets lost. It's a pretty special feeling being in a meeting with a client as a software developer (not just a GIS developer) and trying to explain in non technical terms why the legend says "Override 1" when they want to print a map of THEIR data. It is such a painfully obvious bug and I just simply don't understand why it can't be fixed. It seems like such an incredibly trivial issue and it makes you feel like you're garbage at programming to a client or your boss when you try to explain it. Thanks again for stonewalling an explanation esri :thumbsup:
... View more
12-30-2019
10:43 AM
|
1
|
2
|
1982
|
POST
|
This is an extremely frustrating issue. I've spent a good few days working around the lazy SceneView implementation of printing ("printing"; it's a glorified screenshot). After getting a 3D SceneView to send all layers, scene, and data to the print service and successfully return a pdf (like it should in the first place), I get "Override 1, Override 2" in my legend. I do some research, and find multiple threads saying this bug has existed for years, with these customers getting bug tickets lost and shuffled about, not getting any answer whatsoever. To add, I'm using SceneView as a work around to get dynamically visible labels. So I am going on 3 workarounds deep for labels, printing, and legends. I'm adding to this thread to indicate it is a serious issue. We pay a small fortune for Enterprise Server and a ton of other arcgis products. As a developer, I now have to explain why I can't get a legend labelled in a map if they don't want it named "Override 1", which to any reasonable person, seems like it should be such a trivial issue. It doesn't matter if I'm passing ThisLayer[], ThatLayer[], TheCollection[], etc. A legend is a basic, fundamental mapping concept. It should just work. Look at this -> The Oldest Known Map of the World - Geography Realm It is a map with a legend and labels. It is technically more comprehensive than what my map print service gives me. It is from 500BC. it is currently 2019AD.
... View more
11-13-2019
02:09 PM
|
2
|
0
|
1982
|
POST
|
I found the issue. Well, my IT guy found the issue after playing around with my app. IE CACHE. Apparently, when my .NET application was making a request to our GIS server on site, it goes through IE CACHE to load resources. However, it DOES NOT go through IE CACHE when requesting an online resource and retrieves the latest (like ArcOnline); hence the confusion. To get the latest update from the server, I have to use CCleaner to wipe IE CACHE data. It then loads the most recent web map from our GIS server. This is not required for online resources. I will have to figure out a way to remove or ignore that IE CACHE data in the app. Relying on clients to set cache to off in Internet Options is not a solution. I figured it was a caching issue, but I was assuming our server deployment was caching for performance; I ruled out the client computer as it 'felt like' more of a server side problem. This was not due to my own code. I had the same issue from forks off of GitHub of projects directly from Esri. Maybe disabling IE CACHE is a standard and I'm an idiot for not realizing it, but it might be a good thing to have noted somewhere in SDK documentation. It drove me insane. Client: .NET SDK 100.6.0, Esri.ArcGISRuntime.WPF, Windows 10 Server: ArcEnterprise 10.6.1 Windows
... View more
10-02-2019
10:22 AM
|
0
|
0
|
1427
|
POST
|
A little more info: I just made and saved a new map in the viewer. After referencing it via webmap id: the JSON returned in .NET: {"baseMap":{"baseMapLayers":[{"id":"layer0","layerType":"ArcGISTiledMapServiceLayer","opacity":1,"title":"World Dark Gray Canvas Base","url":"https://services.arcgisonline.com/arcgis/rest/services/Canvas/World_Dark_Gray_Base/MapServer","visibility":true},{"id":"World_Dark_Gray_Reference_8618","isReference":true,"layerType":"ArcGISTiledMapServiceLayer","maxScale":70.531073500000005,"minScale":591657527.591555,"opacity":1,"title":"World Dark Gray Reference","url":"https://services.arcgisonline.com/arcgis/rest/services/Canvas/World_Dark_Gray_Reference/MapServer","visibility":true}],"title":"Dark Gray Canvas"},"referenceScale":0,"spatialReference":{"wkid":102100,"latestWkid":3857},"version":"2.9","authoringApp":"RuntimeSDK","authoringAppVersion":"100.6.0.2513"} the JSON returned by referencing the URL via browser: (like https://<server>/rest/content/items/<webmapid>/data {"operationalLayers":[],"baseMap":{"baseMapLayers":[{"id":"layer0","layerType":"ArcGISTiledMapServiceLayer","url":"https://services.arcgisonline.com/arcgis/rest/services/Canvas/World_Dark_Gray_Base/MapServer","visibility":true,"opacity":1,"title":"World Dark Gray Canvas Base"},{"id":"World_Dark_Gray_Reference_8618","layerType":"ArcGISTiledMapServiceLayer","url":"https://services.arcgisonline.com/arcgis/rest/services/Canvas/World_Dark_Gray_Reference/MapServer","visibility":true,"opacity":1,"title":"World Dark Gray Reference","minScale":5.91657527591555E8,"maxScale":70.5310735,"isReference":true}],"title":"Dark Gray Canvas"},"spatialReference":{"wkid":102100,"latestWkid":3857},"authoringApp":"WebMapViewer","authoringAppVersion":"10.6.1","version":"2.11","referenceScale":0} They are the same; however, AuthoringApp, RuntimeSDK, and authoringAppVersion is different. It matches my .NET environment locally, but why is it returning that from the server? I made it with the server web viewer, not .NET I then updated the basemap to imagery and resaved it in the viewer. After referencing it via webmap id: the JSON returned in .NET: {"baseMap":{"baseMapLayers":[{"id":"layer0","layerType":"ArcGISTiledMapServiceLayer","opacity":1,"title":"World Dark Gray Canvas Base","url":"https://services.arcgisonline.com/arcgis/rest/services/Canvas/World_Dark_Gray_Base/MapServer","visibility":true},{"id":"World_Dark_Gray_Reference_8618","isReference":true,"layerType":"ArcGISTiledMapServiceLayer","maxScale":70.531073500000005,"minScale":591657527.591555,"opacity":1,"title":"World Dark Gray Reference","url":"https://services.arcgisonline.com/arcgis/rest/services/Canvas/World_Dark_Gray_Reference/MapServer","visibility":true}],"title":"Dark Gray Canvas"},"referenceScale":0,"spatialReference":{"wkid":102100,"latestWkid":3857},"version":"2.9","authoringApp":"RuntimeSDK","authoringAppVersion":"100.6.0.2513"} the JSON returned by referencing the URL via browser: (like https://<server>/rest/content/items/<webmapid>/data {"operationalLayers":[],"baseMap":{"baseMapLayers":[{"id":"World_Imagery_2017","layerType":"ArcGISTiledMapServiceLayer","url":"https://services.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer","visibility":true,"opacity":1,"title":"World Imagery"}],"title":"Imagery"},"spatialReference":{"wkid":102100,"latestWkid":3857},"authoringApp":"WebMapViewer","authoringAppVersion":"10.6.1","version":"2.11","referenceScale":0} They are different. Note how the .NET returned identically to the one above before the change, keeping with the dark grey basemap, which is incorrect. The browser reference updated with the imagery basemap, as it should have. Again, thank you, just a little more info, sorry for the length.
... View more
10-01-2019
03:42 PM
|
0
|
0
|
1427
|
POST
|
Michael, Thank you for the reply. I'll be linking code snips with codeshare, I don't see a way to efficiently embed code here. save code: https://codeshare.io/G7dOJo webmap selector code: https://codeshare.io/2EDbkv The SaveMapClicked function is almost verbatim out of esri documentation (Save a map—ArcGIS Runtime SDK for .NET | ArcGIS for Developers ). It saves to the server by virtue of being authenticated, which works fine and is also nearly verbatim out of esri documentation (Authenticate with OAuth | ArcGIS for Developers ) "Reloading the map" I simply have the web map loaded in a combo box. On selection changed, it fires the webmap selector code, which fetches a webmap id and sets mapview.Map to the map constructed from the id. This is fairly trivial. I've also hotwired the map to just initialize with the webmap id, and numerous other things to display it; nothing refreshes it from the server. "After logging the map JSON in .NET" In the code above, after selecting the web map, I call map.ToJson() and read the output to Debug.Write(), which matches the map displayed in the map view. However, I also log map.Uri, and when I follow that Uri to the server and look at the Json in browser, it differs in comparison to the log in .NET. As you can tell, a lot of this is plain vanilla, I don't have much else happening here. I have a feeling that the server is sending back some cache'd json depending on what framework is requesting it. I don't have any objective reasoning to think that other than a hunch. Is there anything in this environment (GIS server or .NET SDK) that can cause that kind of behavior? Again, thank you.
... View more
10-01-2019
02:59 PM
|
0
|
0
|
1427
|
POST
|
I am building a desktop app in C# .NET v100.6.0.0 Runtime SDK. It pulls in maps from various sources without issue. In particular, I am using an Arc GIS server on site which hosts a variety of maps that my company uses to work on. I have the desktop app successfully authenticating, saving, and publishing maps to the server without issue. However, whenever the map is updated through the portal web UI (like <server>/portal/home/webmap/viewer.html?webmap=xxx), the changes are not reflected in the .NET environment. After logging the map JSON in .NET, I noticed that the data is different, including basemaps, layers, versions, etc. I believe this is either the reason or an effect of what my issue is. How is it even possible that the map returns two different JSON files when using the SAME EXACT url? To reiterate my issue plainly: Save a map using .NET application to GIS server Open map in GIS server webviewer UI and edit something (basemap, feature, etc) and save it Reload the map in .NET application, no change <- problem If I make a change in .NET application and save it, the map updates in the GIS server viewer just fine It is insanely frustrating to reference THE SAME url and get COMPLETELY different results back depending on where I'm referencing it from. I don't know how or why this happens, but it shouldn't even work that way in the first place. To compound the issue, if I try another computer with the .NET app, it will grab the latest "version" of the map, whether it was made in .NET or webapp, and thereafter repeat the problem - it will not retrieve updates. I am NOT caching anything. It behaves this way in both debug and production copies/modes. I have used every way I've found to create a map (constructors, portal.createasync, etc). It is a straightforward/vanilla install of the 100.x.x SDK. Nothing is databased. All code and variables are initialized on startup. I'm out of ideas. Thank you for your time.
... View more
10-01-2019
12:27 PM
|
0
|
4
|
1540
|
Title | Kudos | Posted |
---|---|---|
1 | 12-30-2019 06:04 PM | |
1 | 12-30-2019 10:43 AM | |
2 | 11-13-2019 02:09 PM |
Online Status |
Offline
|
Date Last Visited |
11-11-2020
02:24 AM
|