POST
|
For you or anyone needing this, I believe the true source of the issue and solution had more to do with implementing an expected method that cleared or reset some memory or pointer when iterating. I can't remember the exact method but I believe it was some java inherited method. So it was less of an SDK issue and more of a proper Java iteration implementation if I'm not mistaken.
... View more
07-22-2024
08:57 AM
|
0
|
0
|
388
|
POST
|
Thank you for the quick and detailed response. This helps a ton and confirms what I needed to understand to make sure I was addressing this the right way. I will first work on publishing a vector tile service with the styles applied that I need and go from there. It sounds like at that point my plan to have one style and apply it to other maps generated from that same service will work very well. Thanks,
... View more
07-22-2024
08:48 AM
|
0
|
0
|
317
|
POST
|
I am attempting to utilize the method in the maps sdk for android & ios to instantiate a vector tiled layer with a resource cache, but attempts to do so fail. I am utilizing the method: ArcGISVectorTiledLayer(vectorTileCache: VectorTileCache, itemResourceCache: ItemResourceCache?) If I do not pass in the ItemResourceCache the VectorTiledLayer loads as expected. There are two issues I am trying to solve. How can I generate a valid ItemResourceCache to change the styling of the VectorTiledLayer. Is there a way to generate one through the 'vector style editor' and use this as a template style to apply to VTPK's? Or is the only way to download one through the 'ExportVectorTilesTask'? How can I apply style to a hosted Vector tile service so that I can download an ItemResourceCache? I am using my own basemap service for my testing but when I check the 'hasStyleResources' property to ensure that I can download the ItemResourceCache it says false. I don't see a way to apply or generate a style to that service so that I can download the ItemResourceCache. As a side note I have used the sample here: 'https://developers.arcgis.com/swift/sample-code/download-vector-tiles-to-local-cache/' which has proved very useful but attempting to utilize my own vector service has not worked. Ultimately my goal is to have a single style template/ItemResourceCache that I can apply to a packaged .vtpk file to change the display and look of the basemap. At first I was under the impression that the .json file that you can download from the Vector Style Tile Editor would be all you need to pass in as the Item resource cache but that doesn't work. And any attempts to create my own resources.zip package with all the appropriate items to simulate an ItemResourceCache do not seem to work. Thanks,
... View more
07-18-2024
04:49 PM
|
0
|
3
|
406
|
POST
|
Hi, I was wondering if there are any plans to support the use of this new Kotlin Maps SDK 200.x series for Kotlin Multiplatform (KMM) shared code? Is this something that might be possible in the future? From the outside perspective it seems like this might be possible since the SDK is now written in Kotlin, but maybe there are major dependencies that cannot easily be changed to Kotlin. I just tried utilizing it as shared code and wouldn't allow me, presumably because the SDK, including all dependencies, are not 100% Kotlin code. Any insight would be appreciated. Thanks,
... View more
03-02-2023
03:00 PM
|
3
|
5
|
1182
|
POST
|
I am needing to force a re-download/refresh of all the data from a certain layer in an offline geodatabase. I thought there would be some sort of sync-parameter to flag this but I can't find one. Some background: The idea is a user has already downloaded an offline version of the webmap through a GenerateOfflineMapJob. This map contains a layer that is non-editable. Due to the way this data is managed thought our on premise servers the user can have false/phantom data lingering in their offline database via a normal sync. So before a sync I would like be able to flag an invalidation of the data for that layer and re-download all of it instead of just grabbing the geodatabase Delta. I am using the 100.11 version of the android SDK. Any thoughts or ideas would be greatly appreciated, thanks.
... View more
05-27-2021
09:46 AM
|
1
|
1
|
775
|
POST
|
I am also seeing this. It happens when I am running a rather large amount of queries on an offline database. I am wondering if there is a solution that involves running the queries differently. I am using 100.11 version of the sdk. GeodatabaseFeatureTable gdbFeatureTable = (GeodatabaseFeatureTable) featureTable;
boolean hasAttachments = gdbFeatureTable.hasAttachments();
if (hasAttachments) {
long featureCount = gdbFeatureTable.getTotalFeatureCount(); // in the thousands
ListenableFuture<FeatureQueryResult> featureQueryResultFuture = featureTable.queryFeaturesAsync(query);
featureQueryResultFuture.addDoneListener(new Runnable() {
@Override
public void run() {
FeatureQueryResult featureQueryResult = featureQueryResultFuture.get();
Iterator<Feature> features = featureQueryResult.iterator();
while (features.hasNext()) {
final Feature feature = features.next();
ArcGISFeature featureAGS = (ArcGISFeature) feature;
ListenableFuture<List<Attachment>> attachmentResults = featureAGS.fetchAttachmentsAsync(); // Error seems to be thrown from here
}
}
});
}
... View more
05-25-2021
05:55 PM
|
2
|
0
|
3253
|
POST
|
Yes it helped. After having the confidence of knowing that it should work I went back through my implementation and I realized I was creating the popup from a Feature of a FeatureSet which seems to have been the problem. When I create the popup in other ways I can see all the PopFields expected as well as ArcadeExpression values properly evaluated. It took awhile to figure this one out. It was difficult to follow the api documentation and I didn't find much in the way of code samples for callouts or Popups in the Android sdk page. I found myself going to the iOS page for some better samples to get me started. For instance in the api documenation for PopupManager all it says is -- "Manages the viewing and editing of a Popup." Which seems very misleading as I took it to mean this class will have some sort of .show() method to display a template popup. //This was not giving me the webmap version of the popup when the feature was derived from a FeatureSet, Which the documenation states but took me awhile to realize.
Popup popup = new Popup(feature);
//By using the same feature derived from a Feature set and also passing in the featureLayer PopupDefinition It created my expected Webmap popup with Arcade Expressions.
//This sort of made sense to pass in this paramater in my current business logic
Popup popup = new Popup(feature,featureLayer.getPopupDefinition()); At any rate just food for though for other developers or ESRI who might end up here. Thanks for the reply Michael. Cheers,
... View more
04-03-2020
03:01 PM
|
0
|
0
|
730
|
POST
|
I am trying to implement arcade expressions using the latest version of the quartz sdk for Android. I am not having any success. First off I want to confirm that this is supported in the Android runtime sdk at this time? References in the Arcade matrix only mention "ArcGIS Runtime" not all the runtimes individually. I see no mention of arcade specifically in the Android documentation API or sample code, whereas in the ios SDK resources I at least see some mention of it. It seems like it is, or should be supported as the Collector beta for Android does evaluate arcade expressions as expected. However, after digging into this a bit I am starting to think they are doing something outside of the SDK directly. Is this the case or am I not seeing something? Any info, resources or sample code would be much appreciated. Thanks,
... View more
03-31-2020
10:03 AM
|
0
|
2
|
813
|
POST
|
In case anyone cares this is officially a bug in the SDK as confirmed by ESRI. I hope this gets fixed in the next release of quartz. Thanks.
... View more
01-15-2020
10:31 AM
|
0
|
0
|
1057
|
POST
|
I am having issues with importing a .json file from a runtime FeatureCollection to ArcPro or ArcMap. Is this a supported workflow? I have the .json file attached that is not working. I am using ArcGIS Runtime SDK for Android 100.6.0. When reviewing the suggested solution when importing it to ArcPro I can confirm that the .json file has items listed (geometryType, spatialReference, fields, and features (with geometry and attributes) property): Error in ArcPro: 001558: Error parsing .json file <value>. Description The JSON structure does not conform to ESRI-JSON standard for feature sets. Solution Review the JSON structure in the input file. The JSON must have at least the geometryType, spatialReference, fields, and features (with geometry and attributes) property. File outFile = new File(FILE_PATH);
if (featureCollectionTable.getTotalFeatureCount() > 0) {
Iterable<FeatureCollectionTable> featureCollectionTables = Arrays.asList(featureCollectionTable);
FeatureCollection featureCollection = new FeatureCollection(featureCollectionTables);
String jsonString = featureCollection.toJson();
//saving file....
FileOutputStream out = new FileOutputStream(outFile);
byte[] bytes = jsonString.getBytes();
out.write(bytes);
out.flush();
out.close();
} Thanks,
... View more
10-31-2019
11:10 AM
|
2
|
1
|
1239
|
POST
|
Problem: How do locate the Editable/Non-Editable property in a Web Map Layer? Currently every property I seem to think would hold this information does not reflect the editable status. I've tried just about every property according to the documentation for a web map layer. FYI I am using the 10.2.9 release of the SDK. Am I missing something, Do I need to query the layer for editable status or something? Scenario Description: My goal here is to reflect editable status from a webmap in my offline GDB download. The scenario is a webmap with two layers one is editable one is non-editable. Download them both and keep the non-editable status reflected in the webmap. (However the actual REST service is editable and need to prevent users from being able to create and sync features once they download the offline GDB) Thanks,
... View more
06-09-2017
10:55 AM
|
0
|
0
|
640
|
POST
|
No unfortunately that doesn't change anything. It does not know how to handle entry.getValue(). After a bit more playing around I was able to solve it using this methodology: Map<Long, FeatureResult> result = resultFutureRelatedQeury.get();
for (Map.Entry<Long, FeatureResult> entry : result.entrySet()) {
long id = entry.getKey(); // parcel id
Iterator<Object> features = entry.getValue().iterator();
while(features.hasNext()) {
Object element = features.next();
Feature feature = (Feature) element;
}
}
... View more
04-25-2017
11:04 AM
|
1
|
0
|
529
|
POST
|
I am attempting to switch from a GeodatabaseFeatureTable.queryFeatures(...) to .queryRelated method as I thought it would increase performance. However, I cannot seem to work with the Future<> result in the same way. I have followed the API documentation exactly but I get a compile error with the sample code. So unless I am missing something there seems to be an issue with the documentation. Any other attempts to work with the FeatureResult have not worked. Here is a picture of what I'm seeing when I use the sample provided in the API documentation: As far as I can tell everything is in order with both methods. I am using the 10.2.9 Runtime Library. As a side note the reason I am needing to change original implementation of my table query was a strange error that was only occurring occasionally when running multiple table queries on an asyc task. The error was: A/libc: Fatal signal 11 (SIGSEGV) at 0x00b52a0b (code=1), thread 23436 Thanks,
... View more
04-24-2017
04:25 PM
|
0
|
2
|
1167
|
POST
|
I also have spent a lot of time trying to figure this out. I haven't tried your solution yet but it looks like it should work. Exactly what I was looking for. (working on the Android side through) If someone from ESRI is looking at this a sample with a date query would be helpful
... View more
01-10-2017
11:22 AM
|
1
|
0
|
334
|
POST
|
The documentation states that : "public void dispose () -- Disposes the geodatabase. This method must be called when closing an application (or when otherwise finished with the geodatabase) to release resources which use the Geodatabase class." So do you always need to dispose a temporary geodatabase created for some reason within the app? Would there be issues if I did not dispose the tempGDB at all? What about if I only disposed the tempGDB on the final tempGDB, ignoring the ones created during the loop? Is there a memory leak if the geodatabase is never disposed? Ex: private void someFunciton(){
Geodatabase tempGDB;
for (String gdbPath: gdbArray) { //gdbArray is just an array of strings that contains paths to GDB's
try {
tempGDB = new Geodatabase(gdbPath);
//does something with tempGDB
//...finds all layers...etc.
tempGDB.dispose();
}catch(Exception e){
}
}
} Thanks!
... View more
11-30-2016
12:30 PM
|
0
|
0
|
833
|
Title | Kudos | Posted |
---|---|---|
3 | 03-02-2023 03:00 PM | |
1 | 05-27-2021 09:46 AM | |
2 | 05-25-2021 05:55 PM | |
1 | 04-25-2017 11:04 AM | |
2 | 10-31-2019 11:10 AM |
Online Status |
Offline
|
Date Last Visited |
07-22-2024
09:46 PM
|