POST
|
I'm looking for the Windows QML Samples Viewer application for version 100.15, but all I can find is the 200 version. I find that I can most reliably create a Windows installer for my QML application if I use the DLL files (EsriCommonQt, libcrypto, libssl, etc.) and qml directory from the samples viewer when packaging my app. Can anyone point me to where I can download it?
... View more
03-31-2023
08:50 AM
|
0
|
2
|
528
|
POST
|
@JamesBallard1 Thanks. For dynamically creating the QML PositionSource I use the Qt.createComponent/component.createObject, yes? Which presumably means I need to create a new QML file containing a PositionSource { } to pass into Qt.createComponent. Or maybe changing the PluginParameter(s) on an existing PositionSource (serialnmea in my case) causes it to disconnect and reconnect to a different port, after which I can connect it to the new DefaultLocationDataSource? I feel like I've tried this approach and it didn't work.
... View more
06-29-2021
04:02 PM
|
0
|
1
|
1156
|
POST
|
Thanks @JamesBallard1 . I realize in seeing your reply that I completely failed to mention that I'm working in QML, not C++ (with the exception of hacking the serialnmea plugin code). That said, it seems as though most of what you've written can be translated into QML: mapView.locationDisplay.dataSource = defaultLocationDataSource;
mapView.locationDisplay.start();
// User changes port/baud settings
mapView.locationDisplay.stop();
// instantiate a newPostitionSource with different PluginParameters (?)
// instantiate a newDefaultLocationDataSource using PositionSource
newDefaultLocationDataSource.positionInfoSource = newPositionSource
mapView.locationDisplay.dataSource = newDefaultLocationDataSource;
mapView.locationDisplay.start(); But I am a little fuzzy on how to create a new PositionSource and DefaultLocationDataSource in QML/JavaScript. Would that be using Qt.createComponent()/component.createObject(), or maybe Qt.createQmlObject()?
... View more
06-29-2021
01:52 PM
|
0
|
3
|
1168
|
POST
|
I'm using the 100.8 SDK with Qt 5.14.2 and trying to connect to a variety of GPS units with the serialnmea plugin. The issue I'm having is that the MapView is loading before the Settings can be read, so the user-specified serial port and baud rate aren't set when the PositionSource PluginParameter(s) are begin set up. I would also like to be able to reset the position source when users change the port/baud rate settings so they don't have to restart the program to try out new port/baud settings. Can someone share some code for dynamically instantiating a MapView and associated LocationDisplay/DefaultLocationDataSource/PositionSource components for connecting GPS location to the map view? I've been able to instantiate a PositionSource with port/baud from Settings, but by the time that happens, my MapView is already instantiated and I can't figure out how to tell the MapView about the newly instantiated PositionSource. I feel like I'm missing something simple, but trial and error isn't getting me anywhere.
... View more
06-29-2021
11:38 AM
|
0
|
5
|
1213
|
POST
|
James Ballard Gotcha, thanks. That bug isn't specifically related to the serialnmea plugin, just the functionality where you can test a PositionSource using a file containing NMEA strings, so it doesn't affect my use case (a hardware GPS unit transmitting NMEA). There was a point where I was using a serial port redirector and a TCP socket as a nmeaSource (nmeaSource: "socket://127.0.0.1:7777", for example), but serialnmea works much better and is designed for this.
... View more
08-06-2020
12:14 PM
|
0
|
0
|
1084
|
POST
|
James Ballard Thanks for the info on 100.9. I didn't see that Qt bug, but I did find one that was affecting 5.14.2 [QTBUG-82819] serialnmea plugin does not work with external serial device - Qt Bug Tracker , but the patch in this issue was applied for 5.15.0 and fixes it from what I can tell. I couldn't test it with the ESRI SDK, obviously, but the PositionSource with serialnmea does work with 5.15.0 and didn't with 5.14.2. I also applied the same patch to the serialnmea code for 5.14.2, and that also works. So I think I have a solution for 5.14.2/100.8 (use the patch from QTBUG-82819), and hopefully 5.15.0 (already patched) will work with 100.9 when it comes out. What was the serialnmea issue you found with 5.15.0 and 100.9-dev?
... View more
08-05-2020
06:27 PM
|
0
|
2
|
1084
|
POST
|
James Ballard: Any hints on when 100.9 might be released (or if there's a devel track where I could download release candates/etc.)? It turns out that there are problems with the serialnmea position plugin in the previous version of Qt (5.14.2) that appear to have been fixed in 5.15.0. So I'm in a bit of a bind, needing both the ESRI SDK and the latest Qt. Thanks!
... View more
08-05-2020
11:10 AM
|
0
|
4
|
1084
|
POST
|
Thanks for the speedy reply! I did look at the system requirements and I don't recall seeing any warning there about the latest QT version. I'll install 5.14.x and wait for 100.9.
... View more
07-10-2020
11:50 AM
|
1
|
1
|
1084
|
POST
|
I recently upgraded the operating system on my laptop to Catalina (10.15.5), XCode (11.5) and the latest QT (5.15.0), QT Creator (4.12.4), and the 100.8 version SDK. When I build, and then run the Features/FeatureLayer_GeoPackage code example from the git repository I get this error at run time: qrc:/Samples/Features/FeatureLayer_GeoPackage/FeatureLayer_GeoPackage.qml:48: TypeError: Property 'createWgs84' of object [object Object] is not a function The same code works fine on my Linux desktop at work, and presumably elsewhere. The kit I'm using has qmake at ~/Qt/5.15.0/clang_64/bin/qmake and CMake from /usr/local/bin/cmake (version 3.17.3), which was installed using homebrew. I tried uninstalling all versions of the SDK, removing all the configuration files from ~/.config/EsriRuntimeQt and ~/.config/QtProject, then reinstalling the SDK, but I get the same issue. Can anyone suggest a path forward? Happy to provide more information if it would help. Chris
... View more
07-10-2020
10:54 AM
|
0
|
8
|
1211
|
POST
|
Yes, I do, thanks. I have everything the "Display Device Location" example has (INTERNET and the two location permissions you mention), plus read/write external storage, wifi, network, and phone state permissions.
... View more
05-31-2019
02:27 PM
|
0
|
0
|
344
|
POST
|
I'm trying to migrate from the old SDK to 100.5 and am having trouble with the simplest of things: drawing a map and showing the device location. I can get the "Display Device Location" example to run, but as soon as I remove the Spinner and try to start up the app with location display started, I get the blue dot showing the current location, but when I move, the dot doesn't. It knows I'm moving because the directional arrow in the middle of the blue dot shows the correct heading, but the dot itself doesn't move. Here's what the onCreate method looks like within MainActivity. I've also overridden onRequestPermissionsResult like the example. @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
if (!(ContextCompat.checkSelfPermission(MainActivity.this, reqPermissions[0]) == PackageManager.PERMISSION_GRANTED &&
ContextCompat.checkSelfPermission(MainActivity.this, reqPermissions[1]) == PackageManager.PERMISSION_GRANTED)) {
int requestCode = 2;
ActivityCompat.requestPermissions(MainActivity.this, reqPermissions, requestCode);
}
mMapView = findViewById(R.id.mapView);
final ArcGISMap map = new ArcGISMap(Basemap.createTopographic());
mMapView.setMap(map);
mLocationDisplay = mMapView.getLocationDisplay();
mLocationDisplay.setAutoPanMode(LocationDisplay.AutoPanMode.RECENTER);
mLocationDisplay.startAsync();
}
What am I missing? Does the startAsync() need to be somewhere other than onCreate?
... View more
05-31-2019
01:27 PM
|
0
|
2
|
436
|
POST
|
For future reference in case no one replies on how to set a COM port via software, one "fix" is to use the Windows 10 device manager to reconfigure the COM ports on your computer such that the proper device and port happens to be at COM4 (or whatever port Qt/ArcGIS is trying to talk to). I don't know how stable this is, but I managed to get both a Bluetooth GPS and a USB GPS device working by doing this and it has persisted through at least one system reboot.
... View more
02-14-2019
03:36 PM
|
0
|
0
|
604
|
POST
|
Sorry to keep replying to my own post. The initial run showed two COM ports (4 and 5) and after that it continues to choose COM4, which doesn't work because it says the device is already open. When I attempt to read the COM data using a terminal emulator (Tera Term), I get nothing from COM4, but a NMEA stream from COM5. So it may be that all I need to know is how to tell the plugin to use COM5. How do I specify a COM port with the SerialPortNmea plugin?
... View more
02-14-2019
09:20 AM
|
0
|
1
|
604
|
POST
|
As a follow-up, now whenever I run the application from within Qt Creator I get a different error: void __cdecl SerialPortNmeaPositionInfoSource::startUpdates(void) "COM4" 4800 int __cdecl main(int,char *[]) QQuickApplicationWindow_WML_99(0x20d78a6ca80) void __cdecl SerialPortNmeaPositionInfoSource::startUpdates(void) false "COM4" "Device is already open" This message persists even after disconnecting the Bluetooth GPS and restarting Qt Creator and the app.
... View more
02-14-2019
08:57 AM
|
0
|
2
|
604
|
Title | Kudos | Posted |
---|---|---|
1 | 07-10-2020 11:50 AM |
Online Status |
Offline
|
Date Last Visited |
04-03-2023
04:59 PM
|