|
POST
|
The MouseEvent has some additional properties on it that will let you check whether it is a left or right button click - MouseEvent QML Type | Qt Quick 5.13.2 Here is some code for you to enable hovering: import QtQuick 2.6
import QtQuick.Controls 2.2
import Esri.ArcGISRuntime 100.6
ApplicationWindow {
id: appWindow
width: 800
height: 600
title: "HoverTest"
// 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 {}
}
MouseArea {
anchors.fill: parent
hoverEnabled: true
onPositionChanged: {
// get mouse coordinates
console.log(mouse.x, mouse.y, mouse.button);
// reject mouse event so events go through to mapview
mouse.accepted = false;
}
onClicked: {
mouse.accepted = false;
}
onDoubleClicked: {
mouse.accepted = false;
}
onPressAndHold: {
mouse.accepted = false;
}
onPressed: {
mouse.accepted = false;
}
onReleased: {
mouse.accepted = false;
}
}
}
}
... View more
11-26-2019
08:55 AM
|
1
|
0
|
3897
|
|
POST
|
Tables with no geometry should work. Here is an example: import QtQuick 2.6
import QtQuick.Controls 2.2
import Esri.ArcGISRuntime 100.6
ApplicationWindow {
id: appWindow
width: 800
height: 600
title: "Untitled81"
ServiceFeatureTable {
url: "https://services2.arcgis.com/ZQgQTuoyBrtmoGdP/arcgis/rest/services/AlaskaNationalParksPreservesSpecies_List/FeatureServer/2"
Component.onCompleted: {
load()
}
onLoadStatusChanged: {
if (loadStatus === Enums.LoadStatusLoaded) {
console.log("loaded");
queryFeatures(params);
}
}
onQueryFeaturesStatusChanged: {
if (queryFeaturesStatus === Enums.TaskStatusCompleted) {
console.log("complete");
let iter = queryFeaturesResult.iterator;
while (iter.hasNext) {
var feat = iter.next();
console.log(JSON.stringify(feat.attributes.attributesJson))
}
}
}
}
QueryParameters {
id: params
whereClause: "1=1"
}
}
... View more
11-19-2019
11:07 AM
|
0
|
0
|
2224
|
|
POST
|
You can do that with a ServiceFeatureTable. This sample showcases this with a feature layer for viewing, but you don't need to display it - you could just query the ServiceFeatureTable directly - arcgis-runtime-samples-qt/ArcGISRuntimeSDKQt_QMLSamples/Features/FeatureLayer_Query at master · Esri/arcgis-runtime-samp… As for the authorization component, you can do that a few ways. You can create a Credential object with username and password, and set that on the ServiceFeatureTable. You could also use the AuthenticationManager workflow, which is discussed here - Access the ArcGIS platform—ArcGIS Runtime SDK for Qt | ArcGIS for Developers
... View more
11-19-2019
10:24 AM
|
0
|
0
|
2224
|
|
POST
|
Jan - are you able to run it through this tool to see if there are any issues with the data? Validate Scene Layer Package—Data Management toolbox | ArcGIS Desktop
... View more
11-15-2019
09:30 AM
|
1
|
2
|
1846
|
|
POST
|
Hey Jan - you can hook into the layerViewStateChanged signal on the GeoView, but all that tells me is that the layer is not visible. I don't believe there is any additional logging you can enable. It seems like there must be an API bug preventing the layer from rendering.
... View more
11-15-2019
08:55 AM
|
0
|
3
|
1846
|
|
POST
|
Not sure why - probably a bug in the API. If you use the opacity property on the KmlLayer (inherited from Layer base class) instead of setting color, that seems to work, so maybe give that a try if you are just looking to modify opacity. Please log a bug with Esri Support for the color issue if you need to get this part working. Thanks!
... View more
11-14-2019
11:54 AM
|
0
|
1
|
1899
|
|
POST
|
You can do this with a KmlGroundOverlay with 100.6 and newer of Runtime. Basically you set the image and an Envelope of where it should display in geographic space. A sample can be found here: arcgis-runtime-samples-qt/EditKmlGroundOverlay.qml at v.next · Esri/arcgis-runtime-samples-qt · GitHub
... View more
11-14-2019
09:22 AM
|
0
|
3
|
1899
|
|
POST
|
Both work, but if you are starting out fresh, I'd use the Q_PROPERTY workflow. The componentComplete was the original pattern we used in our samples, but we recently attended the Qt World Summit where they discouraged the use of `findChild` if possible (e.g. m_sceneView = findChild<SceneQuickView*>("sceneView");), so we looked for a new pattern and settled on Q_PROPERTY (I don't recall the reason offhand for why they discouraged the use of this function). We've been using this new pattern for new samples and our SDK template projects but haven't gotten around to going back through old samples to refactor yet.
... View more
11-13-2019
09:57 AM
|
0
|
0
|
769
|
|
POST
|
You'd use SceneView::identifyGraphicsOverlay for that. This takes in a graphics overlay and screen coordinates and tells you which graphic is at that location - GeoView Class | ArcGIS for Developers More conceptual doc on that is here - Identify features—ArcGIS Runtime SDK for Qt | ArcGIS for Developers
... View more
11-12-2019
02:12 PM
|
1
|
2
|
3570
|
|
POST
|
Attached is an example of editing a 3D polyline. To use the app, select the "Select" radio button and then click on the line near a vertex to get the nearest vertex on the line. Select the "Edit" radio button to update the geometry of the selected vertex. It uses a TubeSymbol to display in 3D. Here is a preview of the code, but the attached project should run. m_graphicsOverlay = new GraphicsOverlay(this);
m_sceneView->graphicsOverlays()->append(m_graphicsOverlay);
auto props = m_graphicsOverlay->sceneProperties();
props.setSurfacePlacement(SurfacePlacement::Absolute);
m_graphicsOverlay->setSceneProperties(props);
SolidStrokeSymbolLayer* sssl = new SolidStrokeSymbolLayer(5, QColor("red"), {}, StrokeSymbolLayerLineStyle3D::Tube, this);
MultilayerPolylineSymbol* mps = new MultilayerPolylineSymbol({sssl}, this);
SimpleRenderer* sr = new SimpleRenderer(mps, this);
m_graphicsOverlay->setRenderer(sr);
m_polylineBuilder = new PolylineBuilder(SpatialReference(3857), this);
m_polylineBuilder->addPoint(0, 0, 5);
m_polylineBuilder->addPoint(10, 10, 25);
m_polylineBuilder->addPoint(20, 20, 15);
m_polylineBuilder->addPoint(30, 60, 35);
m_graphic = new Graphic(m_polylineBuilder->toGeometry(), this);
m_graphicsOverlay->graphics()->append(m_graphic);
Camera camera(Point(-10, 10, SpatialReference(3857)), 200, 0, 90, 0);
m_sceneView->setViewpointCamera(camera);
connect(m_sceneView, &SceneQuickView::mouseClicked, this, [this](QMouseEvent e)
{
m_sceneView->screenToLocation(e.x(), e.y());
});
connect(m_sceneView, &SceneQuickView::screenToLocationCompleted, this, [this](QUuid, Point pt)
{
pt = GeometryEngine::project(pt, SpatialReference(3857));
if (m_isSelecting)
{
auto result = GeometryEngine::nearestVertex(m_graphic->geometry(), pt);
m_currentPartIndex = result.partIndex();
m_currentPointIndex = result.pointIndex();
}
else
{
m_polylineBuilder->parts()->part(m_currentPartIndex)->setPoint(m_currentPointIndex, pt);
m_graphic->setGeometry(m_polylineBuilder->toGeometry());
}
});
... View more
11-12-2019
01:01 PM
|
2
|
4
|
3570
|
|
POST
|
I think these types of workflows should still be possible. It sounds like you want a vertex editing example where each vertex of the line can be selected and moved to a new location. You should be able to do this by using the GeometryBuilder classes and various GeometryEngine methods, but I unfortunately don't have a sample for you. Hopefully I can put something together at some point to get you on the right track. As for the surface placement, the issue could be a few different things: - does it just draw as draped regardless of what you set, or is it not drawing at all? - Is your graphics rendering mode set to dynamic or static? GraphicsOverlay Class | ArcGIS for Developers - What symbol are you using to display this?
... View more
11-11-2019
12:53 PM
|
0
|
6
|
3570
|
|
POST
|
SketchEditor still is not yet available, but you can still use the GeometryBuilder classes to build whatever geometries you want. Can you share some details about what workflows you are trying to achieve so we can prioritize the necessary work?
... View more
11-08-2019
11:54 AM
|
0
|
8
|
3570
|
|
POST
|
You'll probably need to handle KML Layers as a special case in your TOC, as they function differently than most other layers. The concept of LegendInfos doesn't really apply to them. TO build a TOC, you will need to go down the the node hierarchy (starting from the dataset rootNodes and using the container or networklink childNodes to go down) and use the KmlNode.UXIcon + KmlNode.Name (for example) to create a TOC entry
... View more
11-06-2019
10:36 AM
|
0
|
0
|
843
|
|
POST
|
Hi Brad- We haven't run across this issue. I tried running 5.13.2 Windows MSVC 2017 in release and debug and couldn't reproduce the issue. Are you using one of the SDK templates? Any additional details on how to reproduce?
... View more
11-01-2019
10:46 AM
|
0
|
0
|
1436
|
|
BLOG
|
We are pleased to announce that Qt joins the other Runtime SDKs in supporting AR workflows for iOS and Android platforms. The primary workflows supported include displaying 3D scenes on a tabletop, exploring scenes in flyover mode, and displaying 3D GIS content in full scale. More details about the capabilities of AR in Runtime can be found in this blogpost. To get started, reference the details in our Toolkit's readme.
... View more
10-29-2019
12:41 PM
|
1
|
0
|
673
|
| 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 |
3 weeks ago
|