我尝试将 Qt 5.6 项目升级到 5.7,但在使用 QML Map 时遇到了一些问题。我有一个带有这样代码的简单项目:
Plugin {
id: myPlugin
name: "osm"
PluginParameter {
name: "osm.mapping.host";
value: "http://a.tile.openstreetmap.org/"
}
}
Map {
id: map
anchors.fill: parent
plugin: myPlugin;
center: QtPositioning.coordinate(55.7512, 37.6175)
zoomLevel: 12
activeMapType: map.supportedMapTypes[6] //some magic to work
}
它适用于 5.6 - 我在地图上拥有我定义为
QtPositioning.coordinate()
的所有地点。它在 5.7 中也适用 - 除了一件事之外 - 在 5.7 中我的地图从非洲中部开始,而不是我指向的坐标 Map.center
。
我尝试从 QtCreator 运行示例 - 它也有同样的问题。所以,我很乐意提供任何建议。
我尝试以两种不同的方式设置
Map.center
:
1.
Map {
center: QtPositioning.coordinate(55.7512, 37.6175)
Component.onCompleted: {
console.log(map.center);
}
}
输出是:
qml: 0° 0' 0.0", 37° 37' 3.0" E
看起来以这种方式分配坐标会忽略纬度。
2.
Map {
center {
latitude: 55.7512
longitude: 37.6175
}
Component.onCompleted: {
console.log(map.center);
}
}
输出是:
qml:55° 45' 4.3" N,37° 37' 3.0" E
因此以这种方式分配坐标是没有问题的。
对我来说,它看起来像一个错误。我已在此处创建了错误报告。