Отображение полного адреса с помощью модели поиска мест в QML

#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

Image1

Изображение 2
введите описание изображения здесь