问题标签 [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 投票
0 回答
878 浏览

qt - Qt QML离线地图

有没有办法在 QtLocation 中显示离线地图而不生成图块?就像直接从 osm 文件中读取一样。如果在 QtLocation 中不可能,是否还有其他可用的模块可以在 QML 中使用?

我想在不使用切片服务器甚至在本地服务器上运行并且不单独生成切片并将它们用作QtLocation的缓存的情况下实现这一点。

提前致谢

0 投票
2 回答
990 浏览

qt - 使用 RouteMap QML Qt 在地图上显示多条路线

我想使用 Qt Location 属性在地图上显示路线列表,我能够显示一条路线,但我不知道如何显示多条路线。这是我的代码:

我希望每一对 addWayPoints 都是一条不同的路线。我怎样才能做到这一点?

我用他们对应的 mapitemview 添加了多个模型,但它仍然没有用。

0 投票
1 回答
331 浏览

qt - QML Map 插件“itemsoverlay”不会使用 visibleRegion() 剪辑到基本地图以进行大缩放

我有一个 QML 地图(OSM 插件)和一个带有插件的相应地图覆盖的最小示例itemsoverlay。无论地图进行何种移动或缩放,以下代码都会将叠加层剪辑到地图上。

但是,我可以将基本地图缩放得比最大 OSM 缩放级别更近(导致某些缩放级别 21.07),例如通过使用mapBase.visibleRegion = rect(见下文)。但覆盖不会比这更近,缩放将保持在 19 级。

您可以通过单击红色圆圈进行测试。

任何想法如何让叠加层仍然具有与底图相同的缩放级别?

0 投票
1 回答
1456 浏览

qt - 来自 C++ 模型的 QML MapPolygon

我想MapPolygon在 QML Map 应用程序中动态添加/删除/编辑。我还有其他一些创建多边形的工作(文件导出/导入等),所以我认为我应该使用MapItemViewC++ 模型 sotirng Polygons 数据。

我尝试使用自己的基于 QObject 的对象创建自己的模型:

目的:

模型:

和 QML:

面积多边形.qml

但不幸的是,地图上没有出现多边形(当坐标成功添加到对象 QList 属性中时)。我认为 Object QList addidion 从 View 中不可见,因此 MapItemView 不刷新。

有没有更好的选择来做到这一点?也许我应该使用QGeoPolygon对象模型?(如何?)

0 投票
1 回答
153 浏览

qt - Qt Location - 地图交互

我的目标是在 Qt 中编写一个简单的桌面路由规划器。用户需要能够在地图上绘制路线并对其进行编辑。我已经使用 QML Map/Openstreetmap 插件启动并运行了一张地图,并且一直在查看 MapPolyLine 类型。

但是我无论如何都看不到获取地图事件,特别是当用户单击地图位置或地图对象(例如 MapPolyLine)时。

有没有办法可以扩展 Map 类型以添加​​一些新的插槽来处理这个问题?

0 投票
1 回答
187 浏览

qt - 使用来自 QtLocation 的卫星视图作为 3D 场景中的地面纹理

我正在 Qt 中构建一个飞行模拟器,我想在地板上显示卫星视图。我看到可以使用 QtLocation 访问卫星视图。

有没有办法从这个插件中提取图片(给出中心或角坐标和缩放级别),以便我可以使用它来纹理固定大小的平面?

目前,我的代码是完整的 C++(没有 qml),所以如果有办法做到这一点,我会很高兴。但如果最简单的解决方案是将我的场景切换到 qml,我可以这样做。

顺便说一句,我计划使用的来源是“esri”中的“World Imagery”,所以也许有一个没有 QtLocation 的解决方案,我不知道什么是最简单的。

提前致谢 !

0 投票
0 回答
310 浏览

qt - Qt QML MapRoute 线路构造不是很好,闪烁

我正在尝试使用 Qt 和 Qt 位置插件开发导航应用程序。现在,我正在使用 Here 插件进行测试。由于 Map 插件允许我设置倾斜、​​方位、zoomLevel 等。我能够很好地做我想做的事情,除了在屏幕上查看的由 RouteModel 和 MapRoute 构造的线中的缺陷。以下是我能够显示路线的方式:

当我增加缩放级别并仔细查看路线时,我可以看到路线闪烁,并且在某些部分甚至没有很好地显示。

这种情况的一个例子如下: 有缺陷的案例 替代链接

如果我将 zoomLevel 从大约 18 更改为 10,我可以看到图片会自行校正并且闪烁停止。但这不是我想要的,因为我想要导航感觉。我正在寻找更好的方法来绘制这条路线,简单地说。

我不知道如何解决这个问题,如果我能得到一些建议,我将不胜感激。提前致谢。

编辑:添加了图片的替代链接

EDIT2:我尝试使用 Qt 5.8.0 和 Qt 5.10.1,使用 Here map 插件。复制的步骤是获取从德国多特蒙德到土耳其伊兹密尔的路线图,并在 Königswall 街使用 zoomLevel 18、19 或 20 进行放大。(这种闪烁在很多场合都会发生,这只是一个重现的例子)

0 投票
0 回答
239 浏览

qt - 如何实现地理参考 MapQuickItem

我正在实现一个基于 QtLocation 的地图来显示某种热图,在地图上带有彩色区域(“像素”)。这张热图的一个像素覆盖了大约 100*100m 的区域,因此它们的数量可能很大。我第一次尝试实现这一点是为每个像素使用一个 MapRectangle 项,通过根据每个像素的值设置每个像素的颜色,但是对于一个完全加载的地图,性能会急剧下降。我现在要实现的是将数据划分为这些像素的组,其中每个像素在我的 QQuickItem 子类 ColorTileItem 中用 OpenGL 绘制。此 ColorTileItem 用作 MapQuickItem 的 sourceItem,它是由我的名为 colorTileModel 的模型提供的 MapItemView 的委托。colorTimeModel 的项目是一个“瓦片”,并带有瓦片中的像素数,每个像素的颜色和坐标。我的 QML 代码目前如下所示:

我的问题是这些图块项目需要正确地进行地理参考,以覆盖地图的确切区域,无论缩放级别如何,但 MapQuickItem 期望其大小为像素值,而不是地图上的距离。我正在尝试不同的 zoomLevel 值,但(显然)它只能在父地图的特定缩放级别上正常工作。有没有办法以米为单位设置 MapQuickItem 的大小,或将 MapQuickItem 的角设置为地理坐标(如 MapRectangle 中)?

一个方便的解决方案是将 QDeclarativeRectangleMapItem 或 QDeclarativeGeoMapItemBase 子类化,但不幸的是,这些是私有类,如果可能的话,我想避免依赖特定的 Qt 版本。

0 投票
1 回答
159 浏览

qt - 为什么 QDeclarativeGeoMap::visibleRegion 在 QtLocation Map 中是不可通知的?

我正在使用 QtLocation QML Map 在地图上显示大量项目。与地图上可见的项目数量一样,性能会降低,我想仅将视口上实际可见的项目设置为可见。为此,仅根据项目的坐标是否在视口内来计算可见性会很方便,例如:

但不幸的是,visibleRegion 属性是不可通知的,如http://doc.qt.io/qt-5/qml-qtlocation-map.html#visibleRegion-prop文档中所述。

是否有任何特定原因(如性能问题)不为此属性实现通知信号?有没有办法解决这个问题,并根据它是否在视口内设置地图项的可见性?

0 投票
0 回答
106 浏览

c++ - Qt QGeoCoordinate 适应为 boost::geometry 点

QGeoCoordinate是否可以适应boost::geometry点类型?QGeoCoordinate只有 lat/lon 的 getter 和 setter 方法 - 不能公开访问字段。