问题标签 [qtlocation]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1417 浏览

c++ - QML:如何从 C++ 代码正确地将属性传递给 PluginParameter 值?

大家好!

我遇到了将属性值传递给的C++问题QML。我的项目是桌面应用程序,必须在Windows. 因此,在阅读文档后,我通过QML使用Qt Location找到了最佳解决方案。我选择了OSM 插件

一切正常,但我需要手动将缓存定位到自定义目录中。因此,我想将此类属性 ( cachePath) 值从C++代码传递到QML.

部分 C++ 代码:

QML 代码的重要部分:

所以调试说一切都好,财产也通过了。但是在这个自定义目录中使用地图后没有新的图块。

但是,如果我手动输入value: "C:/111/"- 一切正常,并且目录会补充新的缓存切片。

可能是什么问题呢?

感谢提前!

0 投票
1 回答
1241 浏览

qt - Qt/Qml:地图元素的中继器与 MapItemView

我想用来自QAbstractListModel. 似乎有两个 Qml 工具适用于此,MapItemView[1] 和Repeater[2]。TheRepeater更强大(例如它允许嵌套模型) - 那么有什么理由使用 theMapItemView而不是 a Repeater

问候,

[1] http://doc.qt.io/qt-5/qml-qtlocation-mapitemview.html

[2] http://doc.qt.io/qt-5/qml-qtquick-repeater.html

MapItemView 来源:http ://code.qt.io/cgit/qt/qtlocation.git/tree/src/location/declarativemaps/qdeclarativegeomapitemview.cpp

中继器来源:http ://code.qt.io/cgit/qt/qtdeclarative.git/tree/src/quick/items/qquickrepeater.cpp

0 投票
1 回答
1863 浏览

qt - MapQuickItem 在 QML 地图中不可见

我想在地图上动态地(通过 C++)绘制一个圆圈QML,但是根据缩放级别,圆圈可能不可见。MapCircle没有 zoomLevel 属性。所以我首先创建 aMapQuickItem并尝试将 aMapCircle作为它的sourceItem. 在 QML 我有

如果我只是在地图上画了MapCircle一个圆圈,但是上面的代码在任何屏幕上都没有出现任何内容zoomLevel,我尝试删除该zoomLevel属性,但仍然没有出现。

0 投票
1 回答
679 浏览

qt - AbstractItemModel 到 QML 路由

我有一组其中QPointFMarkerModel子类来自AbstractListModel. 每个这样的标记都有一个状态,取决于它们的颜色。我想在地图上绘制所有这些标记以及一条连接具有特定状态的所有点的折线。我将从 C++ 端更新模型。这是我的 QML

我实际上想要场景中的点和折线。但是,由于我不知道如何将它们都放在场景中,所以我首先尝试使用 显示模型中的点markerDelegate,这很有效。现在我想将这些点视为一条折线routeDelegate。但它抱怨

无法将 MarkerModel 分配给 QDeclarativeGeoRoute

0 投票
1 回答
328 浏览

qt - 添加了 AbstractListModel 行,但未更新 QML 视图

我有一个模型,它有一个列表MarkerItem(这是一个结构)。

在我的 QML 中,我有

我将此模型传递给 QML 视图

在将模型设置为 QML 上下文之前添加的前两个点出现在视图中。但是,当我使用该函数添加一些新点(基于Toolbar Action的用户输入)时,addMarker它会在模型​​中添加标记,但视图不会更新

项目中的所有代码都上传到gist上

0 投票
2 回答
1480 浏览

qt - 编写自定义 Qt Location GeoServices 插件以使用地理参考图像文件作为地图源

我目前正在开发一个 Qt Quick 应用程序,该应用程序将为一个小区域(1 平方公里左右)提供地图查看器,其地图详细信息将在单个地理参考图像文件(GeoTIFF,地理参考PDF、ESRI 形状文件等),以及显示当前位置、操作员识别的兴趣点等。它的主要职责是显示自定义地图(与从公共地图图像服务提供商(OSM、MabBox、 ESRI 等)),它通常用于连接受限的区域

广泛的网络搜索已经确定了过去曾进行过类似查询的其他人(此处为 Qt 论坛等),解决方案的一般建议如下:

  • 带有 Qt SDK 的 ArcGIS Runtime对我不起作用,因为我打算使用 ARM 处理器以嵌入式 linux 设备为目标,并且 ArcGIS 不会为任意目标提供可用于交叉编译的源代码。他们最近发布了一个 Android 版本,但一般来说没有针对 ARM linux 的版本)
  • QGIS 开发人员库GPL 许可证与我的商业开发不兼容
  • 将 Qt 位置组件与本地图块服务器或离线图块集合一起使用(一些插件最近引入了对此的支持)似乎有点 hack,如前所述,我主要使用自定义地图,而不是公共地图的离线副本服务器图像,而我的图像将不足以真正保证平铺

从头开始开发 Qt Quick 组件来做到这一点是可行的,但鉴于现有的 Qt Location Map组件为我的地图需要做的所有事情提供了一个定义良好的预先存在的前端接口,并且具有一个可扩展的基于插件的架构,编写一个自定义的 Qt Location GeoServices 插件似乎是最明智和优雅的前进方式。

我已经开始检查现有插件的源代码,但无法摆脱这样一种感觉:在一个拥有 80 亿人口的世界里,“太阳底下没有新鲜事”,如果这是一个好主意,这已经完成了……

有更熟悉 Qt Location 模块的人愿意发表评论吗?

0 投票
1 回答
666 浏览

qt - Qt QML - 在 Qt Location 中创建我自己的形状

我目前正在开发一个提供地图查看器的 Qt Quick 应用程序。我想创建不规则形状(多个形状),然后将它们放在地图上。这是使用 QQuickPaintedItem (用 C++ 编写 QML 扩展)的好方法还是有另一种方法可以做到这一点?还是在 Map Viewer 中创建我自己的形状,如 MapCircle(例如 MapCustom)?

0 投票
1 回答
237 浏览

qt - QT/QML 如何在地图上使用 mapReady?

我被困在 mapReady 进入 QML 的方式上。

根据文档http://doc.qt.io/qt-5/qml-qtlocation-map.html#mapReady-prop,建议使用为该属性发出的信号代替 Component.onCompleted

从这个简单的 main.qml 代码

结果是:

地图准备好后如何使用这个 onMapReady 来调用 visibleRegion ?

我试过这个,但没有成功:

0 投票
2 回答
390 浏览

qt - 在委托中引入条件

我寻求在代表中引入条件。

这是一个简化的 main.qml

它显示地图并定义一个边界框。

这是代表:Marker.qml

我希望添加此条件以丢弃不在要显示的边界框内的点:

但是如果在我的代码中不能直接使用。

我试图添加一个功能:

但我也无法调用它。

是否可以在委托中添加条件,如果可以,该怎么做?

谢谢你的帮助

0 投票
1 回答
141 浏览

qt - 如何使用进度条监控过滤地图过程

我想通过进度条通知用户在 QML 地图上过滤点的过程。此过程分三个阶段进行:filterAcceptsRow 调用 rowCount,然后调用数据。数据返回的值与过滤器进行比较并验证与否。

这是 filterAcceptsRow() :

这是 rowCount() :

这是 data(),实现了错误的 QProgressDialog:

在我看来,数据是代码的重要部分,我们通过 index.row() 知道当前值的索引,通过 rowCount() 知道值的总和。

通过比较两个数字来了解进度是显而易见的,但是在我编写的过程中,它无法在进度条中显示。

我试图实现一个 QFutureWatcher 来完成这项工作,但没有成功。

您对要实施的解决方案有什么想法吗?

提前致谢