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
|
2
|
3
|
526
|
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
|
595
|
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
|
2564
|
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
|
561
|
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
|
644
|
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
|
864
|
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
|
1046
|
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
|
583
|
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
|
396
|
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
|
1034
|
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
|
268
|
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
|
699
|
POST
|
Hi all I'm trying to come up with a simple solution for running some geoprocessing for an app. It seems like there could be many solutions but I am looking for simple cost effective solutions. I am developing for a startup so cash is as tight as it gets. The Problem: Need to process point locations relative to polygon locations (simple contains or intersects) and return results for which polygons the points intersect. This process could potentially be run many times per user/per day. The results would be need to be stored in a database and used for profile info. My thoughts thus far: I would like to be able to just run the process against some server/service I am hosting online. Results I had envisioned being stored in sql database outside of arcgis land. Two thoughts of solutions: 1. Host feature service with ploygons, get locations from app, run process against feature service using runtime sdk. 2. Host feature service with polygons, get locations from app, run process again feature service using some sort of online geoprocessing (without setting up my own server, installing arcServer etc). Does option 2 exist? This thread make me think not. I have worked with android sdk for arcgis extensively for other projects but unsure this would be an elegant or financially viable solution, If I am using the sdk just for geoprocessing wouldn't I have to register every app for licensing? Any thoughts would be greatly appreciated. -Forrest
... View more
11-09-2015
12:49 PM
|
0
|
2
|
3174
|
POST
|
With a cursory look it seems like the code should work. Have you debugged and caught the table exception if there is one? It could be that the point is outside of the GDB extent. When you created the offline .geodatabase an extent was needed. Instead of creating the point from a static x-y coordinate I would use a map tap event to get the x-y like so public boolean onSingleTap(final MotionEvent e) {
mMapView.toMapPoint(new Point(e.getX(), e.getY()))
} Hope that helps.
... View more
04-22-2015
01:39 PM
|
0
|
1
|
943
|
POST
|
I am using SDK version 10.2.4 I am trying to implement the autopan abilities. However, I feel that the API needs improvement with the current autopan capabilities. From my testing all "autopan" modes are deactivated upon interaction with the map. I believe this is undesirable and should be a further option to leave active with map interaction. Currently the only way I see to implement a map panning the way I want is to add this line: locationDisplayManager.setAutoPanMode(AutoPanMode.LOCATION); to the onLocationChanged() event for the locationDisplayManager. This can't be very efficient for the system. Anyways that's my 2 cents. Are there any plans to impove autopan further? I saw that in version 10.2.3 there was "auto pan imporovements" but was not sure exactly what those were.
... View more
04-17-2015
02:09 PM
|
0
|
1
|
3526
|
Title | Kudos | Posted |
---|---|---|
2 | 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 |
02-20-2024
08:09 PM
|