|
POST
|
I tried setting the basemap in the onMapChanged signal, but no success. The grey map appears again. I wish it had worked though, since I try to avoid using timers as much as I can!
... View more
04-08-2022
06:44 PM
|
0
|
0
|
1868
|
|
POST
|
The issue is resolved. This happens because I'm trying to load the basemap and set the map at the same time. I changed my code to the following and added a Timer component. MobileMapPackage {
id:mmpk
path: config.mmpkPath
onLoadStatusChanged: {
console.log("MMPK LOAD status changed", loadStatus)
if (loadStatus === Enums.LoadStatusLoaded) {
console.log("loaded")
mapView.map = mmpk.maps[0]
basemapTimer.start()
}
}
}
Timer {
id: baseMapTimer
interval: 500
onTriggered: {
mapView.map.basemap = defaultBasemap
}
} This interval of half a second seems to be enough time to set the map before adding the basemap. Not sure though why this worked in AppStudio 4 and earlier Runtime versions, but not in 100.13 (and possibly some earlier versions.)
... View more
04-07-2022
12:52 PM
|
0
|
0
|
1899
|
|
POST
|
Sorry, I'm not authorized to share our client's MMPK outside our org 😕 I checked for statusFlags values for a layer that I know is visible at the extent on map-start. Component.onCompleted: {
console.log(layerViewState(mapView.map.operationalLayers.get(6)).statusFlags)
} And this outputs a value of 2 which, checking the Enums, stands for Not Visible. This is the case whether the map is grey or not. I'm looking into whether I really did this correctly since the layer is visible on the map, but still gives the incorrect (?) enum. I've been talking to @TrevorFrame with the AppStudio team, and he suggested that this could be a concurrency issue with map being loaded from the MMPK and the basemap being added at the same time. I moved Component.onCompleted: {
mmpk.load
} this snippet of code into MobileMapPackage{} from MapView{} and this seems to have fixed the problem for the above map code (although for my original, larger map code, it doesn't). The issue is that basemap is not being added anymore. So now, I'm trying to find a way to load the basemap without the rest of the map screwing up. And then figure out why this solution doesn't work for my larger map (code not provided here).
... View more
04-06-2022
03:11 PM
|
0
|
0
|
1913
|
|
POST
|
Hi @Tanner , Thank you for your reply. I added the onViewPointChanged signal to the MapView. It DOES NOT get triggered, when the map is grey/not visible. I also tried checking if this has anything to do with the MMPK I'm using. I tried using the PalmSprings.mmpk and YellowStone.mmpk from the "Open Mobile Map (mmpk)" AppStudio sample template. Interestingly enough, both of these MMPKs work without issue. Map is never grey and everything renders fine. But I don't believe there is anything wrong with the MMPK. We've been using the same MMPK for more than a year with no issues. My MMPK is much larger in size than the sample ones I tried (>500MB) if you think that could impact performance.
... View more
04-05-2022
02:39 PM
|
0
|
0
|
1944
|
|
POST
|
I have an app in AppStudio that contains a map created using a locally stored MMPK. The map was working fine through AppStudio 4 and all associated Runtime versions (<100.10?) But after I upgraded to AppStudio 5.3 and Runtime 100.13, this issue started happening. This only happens when I test on my iPad Mini 5th gen (v14.8.1). Desktop testing doesn't catch anything. More importantly, this issue only happens roughly 50% of the time. The other half, MMPK and layers render as they should. Instead of the layers or basemap showing up, the map is entirely grey. Here's my relevant code for the map page. This is a basic MapView with Map that loads an MMPK and then a basemap. import QtQuick 2.7
import QtQuick.Layouts 1.1
import QtQuick.Controls.Material 2.1
import QtGraphicalEffects 1.0
import QtPositioning 5.8
import QtSensors 5.3
import ArcGIS.AppFramework 1.0
import Esri.ArcGISRuntime 100.13
import ArcGIS.AppFramework.Networking 1.0
import ArcGIS.AppFramework.Platform 1.0
import QtQuick.Controls 2.11
import "../../shared"
import "../../controls"
import "../../assets"
Component {
id: mapPage
MobileMapPackage {
id:mmpk
path: config.mmpkPath
onLoadStatusChanged: {
console.log("MMPK LOAD status changed", loadStatus)
if (loadStatus === Enums.LoadStatusLoaded) {
console.log("loaded")
mapView.map = mmpk.maps[0]
mapView.map.basemap = defaultBasemap
}
}
onErrorChanged: {
console.log(mmpk.path)
console.log("MMPK Error:", error.message, error.additionalMessage)
}
onLoadErrorChanged: {
console.log("MMPK Load Error: ", loadError.message, loadError.additionalMessage)
}
}
BasemapImageryWithLabels {id:defaultBasemap}
MapView {
id:mapView
anchors.fill: parent
Component.onCompleted: {
mmpk.load()
}
Map {
initialViewpoint: ViewpointCenter {
center: Point {
x: -11e6
y: 6e6
spatialReference: SpatialReference {wkid: 102100}
}
targetScale: 9e7
}
}
}
} The console does log the expected load status of "Loaded" or 0 even if the map is grey. No errors are logged ever. Any ideas why the map doesn't render, or has anyone else experienced the same issues? Thanks!
... View more
04-05-2022
09:38 AM
|
1
|
7
|
2022
|
|
POST
|
We have code in our AppStudio 5 app that checks to see if the device changes network status. If the device goes offline, remove online layers and if it comes back online, add the online-only layers to the map. We use AppFramework.network Object to check for triggers of the onlineStateChanged signal. This worked perfectly in AppStudio 4. const networkChangedStatus = () => {
if (!Networking.isOnline) {
console.log("Status changed", Networking.isOnline)
removeOnlineLineLayers()
} else {
console.log("Status changed", Networking.isOnline)
addOnlineLayersToMap()
}
}
AppFramework.network.onlineStateChanged.disconnect(networkChangedStatus)
AppFramework.network.onlineStateChanged.connect(networkChangedStatus) Unfortunately, in AppStudio 5, this signal doesn't get triggered anymore. I know the isOnline property in Network is deprecated, so we're using Networking.isOnline, but surely the whole Network library isn't deprecated? I also checked the Networking object's networkChanged signal and implement that to the above code into lines 11 and 12, like below. Networking.networkChanged.disconnect(networkChangedStatus)
Networking.networkChanged.connect(networkChangedStatus) But this networkChanged signal gets triggered too often; sitting idle while being connected to network triggers the signal every 10 seconds or so. What's the best solution here? I want to be able to check the device's network status and make changes accordingly in my map. It seems to me like AppStudio 5 took away the ability to do this. Any help appreciated! Thank you.
... View more
04-01-2022
09:16 AM
|
0
|
2
|
1166
|
|
POST
|
Great! Sounds like this update has a lot of long awaited features. I'll wait for the blog post with all the release notes. 🙂
... View more
03-23-2022
09:10 AM
|
0
|
0
|
4587
|
|
POST
|
I see it and setting visibility ranges work! I'll accept your original post as solution. Any word on when nested layers will be implemented? If I have a feature layer with nested group layers, and I add them to the webmap, they still appear as one group layer.
... View more
03-23-2022
08:17 AM
|
0
|
2
|
4591
|
|
POST
|
Music to my ears! I've been dealing with this issue and trying to circumvent it by dealing with Python API and republishing from Pro. Looking forward to the release!
... View more
03-22-2022
03:26 PM
|
1
|
0
|
4606
|
|
POST
|
Definitely a solution if my layers were contained within GroupLayers. But alas, adding Feature Services that have group layers in them to a webmap doesn't preserve this nesting structure. So I am left with a webmap with hundreds of broken down child layers, and no group layers. I'm actually checking Python API to see if there's a method that allows me to programatically group together layers...
... View more
03-22-2022
01:39 PM
|
0
|
2
|
4620
|
|
POST
|
I have a webmap with lots of layers, that I want to set the visibility range for. I don't want to deal with this in Pro, since publishing it back to Online takes a long time. I can't go through every layer's settings and change the range individually. Is there a way to change the map's reference scale in ArcGIS Online or achieve what I want using the ArcGIS API for Python?
... View more
03-22-2022
12:51 PM
|
0
|
9
|
4647
|
|
POST
|
I'm trying to get AppStudio 5.3 running on my Windows 10 Pro PC. There shouldn't be any issues with this version, as I've tried the same installation on other machines and they work fine. I download 5.3.97 from AppStudio website, install it and try to get it running, but the program doesn't run. It produces the following Error in Event Viewer. Faulting application name: AppStudio.exe, version: 5.3.97.0, time stamp: 0x62122a41 Faulting module name: unknown, version: 0.0.0.0, time stamp: 0x00000000 Exception code: 0xc0000005 Fault offset: 0x0000023c342791c0 Faulting process id: 0x3368 Faulting application start time: 0x01d83d7a3d53b16c Faulting application path: C:\Users\[...]\Applications\ArcGIS\AppStudio\bin\AppStudio.exe Faulting module path: unknown Report Id: 739099d0-e1c7-4fec-8f2f-12fc91dc6d52 Faulting package full name: Faulting package-relative application ID: I have absolutely no idea why this happens. Installation works and app runs perfectly with previous versions of AppStudio, like 5.2.133. I'm on Windows 10 Pro, version 21H1. I did just reinstall Windows 10 on this PC, and prior to that, I wasn't having any issues.
... View more
03-21-2022
04:44 PM
|
0
|
2
|
954
|
|
POST
|
This is a duplicate of this issue posted in 2017: https://community.esri.com/t5/python-questions/fieldinfo-getvisible-method-returns-quot-visible/td-p/192738 Bug report here: https://support.esri.com/en/bugs/nimbus/TklNMTAxNDA4 I need to publish a webmap to Online from Pro with hundreds of layers. In Pro, I need to turn the "Shape" field visible, since I can't publish as a Webmap unless the Shape fields are visible. So, I tried to use arcpy to turn the "Shape" fields visibility to "VISIBLE" for m in aprx.listMaps():
for lyr in m.listLayers():
if not lyr.isGroupLayer:
desc = arcpy.Describe(lyr)
for i in range(0,desc.fieldInfo.count):
if desc.fieldInfo.getFieldName(i) == "Shape":
print(desc.fieldInfo.getVisible(i)) This returns VISIBLE for all "Shape" fields in all layers, even if they're not in Fields view. Any way to avoid going through each layer and updating visibility by hand? The bug report indicates that it was updated last week, but it doesn't seem like there's any plan to fix this.
... View more
03-15-2022
01:34 PM
|
0
|
1
|
916
|
| Title | Kudos | Posted |
|---|---|---|
| 1 | 12-12-2024 08:04 AM | |
| 2 | 12-06-2024 05:09 PM | |
| 2 | 12-06-2024 03:17 PM | |
| 2 | 12-05-2024 09:57 AM | |
| 1 | 06-07-2023 10:06 AM |
| Online Status |
Offline
|
| Date Last Visited |
11-03-2025
06:31 AM
|