Hi there
I'm having way more trouble than I should have trying to update a feature's geometry (and sync it back to the database). Using Runtime v100, I retrieved the feature from the database like this:
QueryParameters {
id: queryParams
objectIds: [ app.user.OBJECTID ]
returnGeometry: true
}
ServiceFeatureTable {
url: http://url.to/restservice
onLoadStatusChanged: if( loadStatus === Enums.LoadStatusLoaded )
queryFeatures( queryParams );
onQueryFeaturesStatusChanged: if( queryFeaturesStatus === Enums.TaskStatusCompleted )
root.userFeature = queryFeaturesResult.iterator.features[0];
}
Next, I want to update root.userFeature's geometry to the user's current location:
root.userFeature.geometry = mapView.locationDisplay.mapLocation;
I was able to write very similar code to update a feature's attachments and everything just synced magically to the database, so I suspect it's a SpatialReference issue, but I've tried projecting mapLocation to the service's spatial reference, WGS84, ... no luck. When I log app.user.geometry.json, it is the same as mapLocation's. I've tried to applyEdits() but nope. What am I missing here?
Also, Runtime v10 had GeodatabaseFeatureServiceTable.feature( objectid ) to get a specific feature by its OBJECTID. Does v100 have something similar? Couldn't find it in the docs, and the whole queryFeatures seems a bit overkill in my case (I know what the OBJECT ID of the feature I want to edit the geometry of, is).