import QtQuick 2.15
import QtQuick.Controls 2.15
import QtLocation 5.15
import QtPositioning 5.15
Item {
width: 800
height: 600
Plugin {
id: mapPlugin
name: “osm” // 使用 OpenStreetMap 插件
}
// 坐标属性,可通过 C++ 更新
property var coordinateA: QtPositioning.coordinate(36.01, 116.11)
property var coordinateB: QtPositioning.coordinate(37.0, 117.0)
property real zoomLevelVal: 10
Map {
anchors.fill: parent
plugin: mapPlugin
center: coordinateA // 默认以 A 为中心
zoomLevel: zoomLevelVal // 使用绑定的 zoomLevel 属性
// 显示从 A 到 B 的路径
MapPolyline {
line.width: 1
line.color: “red”
path: [coordinateA, coordinateB]
}
MapQuickItem {
coordinate: coordinateA // A 坐标点
sourceItem: Image {
width: 30
height: 30
source: “qrc:/monkey.png” // 替换为您的箭头图片
//transformOrigin:Item.Center // 以图片中心为基准点
rotation: Math.atan2(-coordinateB.latitude + coordinateA.latitude,
-coordinateB.longitude + coordinateA.longitude) * 180 / Math.PI
}
}
}
}
