#qt #qml #geocoding #felgo
Вопрос:
Я использую комбинацию как модели QML placesearch, так и геокодемодели QML (также пробовал работать с моделью placesearchsuggestion также для создания списка предложений по поиску при поиске карты; однако, когда я начинаю вводить текст, в моем раскрывающемся списке отображается только страна (см. Изображение 1).
Моя цель состоит в том, чтобы отображать не только «адреса», но и места (например, вашу местную сеть быстрого питания, когда вы начнете ее искать), поскольку эта цель состоит в том, чтобы отмечать места для событий в приложении.
Я следовал/адаптировал аналогичный учебник, который я нашел в Интернете, с запущенным кодом как:
Поле поиска
Column {
anchors.fill: parent;
AppTextField {
id: searchTextField;
width: parent.width;
onAccepted: {focus = false; if (text != "") {geocodeModel.query = text}}
onDisplayTextChanged: {
suggenstionModel.searchTerm = searchTextField.displayText.toString();
suggenstionModel.update()
}
}
SuggestionsList {
id: suggestionsList;
model: suggenstionModel;
onProposalSelected: {
searchTextField.focus = false;
searchTextField.text = suggestion;
geocodeModel.query = suggestion
}
}
} //column end
QL.GeocodeModel {
id: geocodeModel;
plugin: MapBoxPlugin {geocoding: true}
autoUpdate: true
onLocationsChanged: {
for(var i = 0; i < count; i ){
var address = get(i).address
var fullText
fullText = "str: " address.street " City: " address.city " Country: " address.country
//This loop logs all the full addresses in my console.
}
}
}
QL.PlaceSearchModel {
id: suggenstionModel;
plugin: MapBoxPlugin {geocoding: true}
onStatusChanged: {
if (status == QL.PlaceSearchSuggestionModel.Ready) {
suggestionsList.show()
}
}
}
Список предложений.qml
AppListView {
id: root
property real rowHeight: dp(30)
property int fontPixelSize: sp(12)
signal proposalSelected(string suggestion)
height: 0
visible: false
clip: true
boundsBehavior: Flickable.StopAtBounds
delegate: SimpleRow {
height: root.rowHeight
text: place.location.address.text
onSelected: {
root.proposalSelected(place.location.address.text)
}
}
MY QUESTION IS
How, using the PlaceSearchModel/PlaceSearchSuggestionModel amp; Geocode Model, can I not only search for actual ‘places’ and their addresses — but how can I also display these in full within the suggestion list?
IMAGE 1