在缩放地图时,我找不到任何方法将MapCircle的半径设置为固定大小。标记图标在PlaceSearchModel中使用,但我无法使其动态化。当我缩放地图时,它会变大,当最小化地图时,标记会消失。
以下是代码:
import QtQuick 2.0
import QtQuick.Controls 2.0
import QtQuick.Controls.Material 2.0
import QtQuick.Controls.Universal 2.0
import Fluid.Controls 1.0
import QtLocation 5.6
import QtPositioning 5.6
TabbedPage {
id: frame
title: "Web Map"
Tab {
title: "Map Viewer"
anchors {
left: parent.left
top: parent.top
bottom: parent.bottom
}
width: parent.width
clip: true
Material.background: "white"
Material.elevation: 1
Universal.background: Universal.accent
Plugin {
id: mapPlugin
name: "osm"
}
Map {
id:map
anchors.fill: parent
plugin: mapPlugin
zoomLevel: 14
MapItemView {
model: src
delegate: MapQuickItem {
coordinate: src.position.coordinate
anchorPoint.x: image.width * 0.5
anchorPoint.y: image.height
sourceItem: Column {
Image { id: image; source: "marker.png" }
Text { text: title; font.bold: true }
}
}
}
MapCircle {
center : src.position.coordinate
radius: parent.width/10
border.width: 1
color: 'green'
}
}
PositionSource {
id: src
updateInterval: 1000
active: true
onPositionChanged: {
var coord = src.position.coordinate;
console.debug("current position:", coord.latitude, coord.longitude);
map.center = position.coordinate
}
}
}
}
截图:
答案 0 :(得分:2)
我从Qt的例子中找到了一个名为Places的解决方案:
repository/conf
答案 1 :(得分:0)
MapCircle的半径以米为单位定义,它是一个地理特征。您找到了正确的解决方案:使用MapQuickItem。这样会保持其大小(像素或屏幕点)。