我尝试将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运行示例 - 它遇到了同样的问题。所以,我很乐意接受任何建议。
答案 0 :(得分:1)
我尝试以两种不同的方式设置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
因此,以这种方式分配坐标无需解决问题。
至于我,它看起来像一个bug。我创建了一个错误报告here。