|
POST
|
If you are using OAuth app login, then I don't think you will need to use the AuthenticationView at all - the AuthenticationView is meant to be used for displaying a UI to the user to login. If you take your original code and delete all of the AuthenticationView code, does it work?
... View more
08-20-2018
12:03 PM
|
0
|
6
|
2795
|
|
POST
|
Kai - so the results are that you get z values when using positionUpdated but not on the locationChanged signal? If so, then this sounds like a bug in ArcGIS Runtime.
... View more
08-20-2018
12:00 PM
|
0
|
0
|
1743
|
|
POST
|
Hi Norbert, You're right, when I try this on Linux it strangely does not work. I will log a bug for this. Thanks, Lucas
... View more
08-14-2018
06:58 AM
|
0
|
5
|
3244
|
|
POST
|
Hi Kai- The LocationDisplay is the view component for Qt's QGeoPositionInfoSource. Can you try creating a QGeoPositionInfoSource and listening to it's positionUpdated signal? QGeoPositionInfoSource Class | Qt Positioning 5.11 I'm wondering if the data that is coming in only has X and Y but no Z.
... View more
08-13-2018
02:50 PM
|
0
|
2
|
1743
|
|
POST
|
Hi Norbert- This should work. I tested out the attached tile cache with the below code and it rendered ok for me // tile cache creation
TileCache* tc = new TileCache("/Users/<username>/ArcGIS/Runtime/Data/tpk/USA_Cached/UnitedStates", this);
ArcGISTiledLayer* tileLayer = new ArcGISTiledLayer(tc, this);
// Create a map using the tile cache
m_map = new Map(new Basemap(tileLayer, this), this);
... View more
08-13-2018
09:03 AM
|
1
|
8
|
3244
|
|
POST
|
You have a few options. The reason it is still adding is because the timer is still emitting the triggered signal, and that signal has been connection to an inline function (and never disconnected). Some things to try: 1) When you call stop() on the LocationDisplay, stop the timer. 2) Instead of connecting in-line to the function, split the function out, and then call disconnect when you want. function writeToTable() {
mapView.locationDisplay.autoPanMode = Enums.LocationDisplayAutoPanModeRecenter;
var point = mapView.locationDisplay.mapLocation;
...
}
if(arg === "compassMode"){
mapView.locationDisplay.autoPanMode = Enums.LocationDisplayAutoPanModeCompassNavigation;
mapView.locationDisplay.start();
} else if(arg === "navigationMode"){
mapView.locationDisplay.autoPanMode = Enums.LocationDisplayAutoPanModeNavigation;
mapView.locationDisplay.start();
var featureAttributes = {"XXXX" : "XXXX"};
timer.start();
timer.triggered.connect(writeToTable);
} else {
mapView.locationDisplay.stop();
timer.triggered.disconnect(writeToTable);
} 3) Use QML Connections to declaratively connect to the Timer's signal - Connections QML Type | Qt QML 5.11 . You could make use of the enabled property here so the connection is only enabled if certain conditions are true, such as if arg is "navigationMode"
... View more
08-10-2018
12:17 PM
|
2
|
1
|
3538
|
|
POST
|
Sounds like you're on the right track. Here is an example of using a polygon to find points that are within it. Just click on a state and you can see what cities are within that state: import QtQuick 2.6
import QtQuick.Controls 1.4
import Esri.ArcGISRuntime 100.3
ApplicationWindow {
id: appWindow
width: 800
height: 600
title: "SpatialQuery"
// add a mapView component
MapView {
anchors.fill: parent
// set focus to enable keyboard navigation
focus: true
// add a map to the mapview
Map {
// add the BasemapTopographic basemap to the map
BasemapTopographic {}
FeatureLayer {
id: statesLayer
ServiceFeatureTable {
id: statesTable
url: "http://sampleserver6.arcgisonline.com/arcgis/rest/services/USA/MapServer/2"
}
}
FeatureLayer {
id: citiesLayer
ServiceFeatureTable {
id: citiesTable
url: "http://sampleserver6.arcgisonline.com/arcgis/rest/services/USA/MapServer/0"
onQueryFeaturesStatusChanged: {
if (queryFeaturesStatus !== Enums.TaskStatusCompleted)
return;
var resultIter = queryFeaturesResult.iterator;
while (resultIter.hasNext) {
var feat = resultIter.next();
citiesLayer.selectFeature(feat)
console.log("City:", feat.attributes.attributeValue("areaname"));
}
}
}
}
}
onMouseClicked: {
// clear selection and identify layers
statesLayer.clearSelection();
citiesLayer.clearSelection();
identifyLayerWithMaxResults(statesLayer, mouse.x, mouse.y, 10, false, 1)
}
onIdentifyLayerStatusChanged: {
if (identifyLayerStatus !== Enums.TaskStatusCompleted)
return;
// select the state layer that was identified
var result = identifyLayerResult.geoElements[0];
statesLayer.selectFeature(result);
// find all the cities in that polygon
// create the params
var queryParams = ArcGISRuntimeEnvironment.createObject("QueryParameters");
queryParams.geometry = result.geometry;
queryParams.spatialRelationship = Enums.SpatialRelationshipIntersects;
// query the table
citiesTable.queryFeatures(queryParams)
}
}
}
... View more
07-25-2018
10:32 AM
|
2
|
1
|
1342
|
|
POST
|
Vishnu- What is your use case for wanting a selection symbol instead of just modifying the color?
... View more
07-24-2018
07:38 AM
|
0
|
2
|
2159
|
|
POST
|
There is not a setting to enable this. In theory, you should be able to set allowOverlapOfLabel:avoid and allowOverlapOfFeatureInterior:avoid, and this would enable the dynamic movement of the label to avoid overlap, but accept overlap when it couldn’t be avoided. However, we tested this out and it seems like there is a bug, so this won't work at the moment. We are looking into it.
... View more
07-24-2018
07:09 AM
|
0
|
1
|
1545
|
|
IDEA
|
With 100.x, there are now many different RasterRenderers available RasterRenderer Class
... View more
07-20-2018
08:05 AM
|
0
|
0
|
693
|
|
POST
|
I ported that over to C++ (see attached). I've not used this scalebar code before, so I'm not sure if it does what you want, but these changes should be an example of how you can make this code work with the C++ API.
... View more
07-18-2018
10:12 AM
|
0
|
1
|
3538
|
|
POST
|
The issue is that there is a mixture of our QML and C++ APIs in your example. We have one API which is purely QML, and that is the API that AppStudio uses. You can tell if you are using the QML API because you will see "import Esri.ArcGISRuntime 100.x" in the code - this is the QML plugin we build and ship. If you instead want to use our C++ API, you can utilize the MapQuickView to expose the MapView to QML, and write your business logic in C++ and your UI in QML. The different development paradigms are highlighted in this doc - Qt SDK best practices—ArcGIS Runtime SDK for Qt | ArcGIS for Developers Long story short - if you create a new project and select the "ArcGIS Runtime Qt Quick QML" template, everything should work. If you prefer to use the C++ API, there will be more work involved - for starters, you will need to remove the "import Esri.ArcGISRuntime 100.x" from your ScaleBar.qml, expose the various Q_PROPERTYs that you need, etc.
... View more
07-18-2018
07:23 AM
|
0
|
3
|
3538
|
| Title | Kudos | Posted |
|---|---|---|
| 3 | 05-27-2026 09:52 AM | |
| 1 | 11-24-2025 10:45 AM | |
| 1 | 07-30-2025 08:26 AM | |
| 1 | 05-15-2025 07:35 AM | |
| 2 | 11-26-2024 01:27 PM |
| Online Status |
Offline
|
| Date Last Visited |
06-17-2026
07:54 AM
|