Spec-Zone.ru › Qt 5.11

Тип QML RouteModel

Тип RouteModel предоставляет доступ к маршрутам. Подробнее...

Оператор импорта: import QtLocation 5.11
С версии: QtLocation 5.5
  • Список всех членов, включая унаследованные

Свойства

  • autoUpdate : bool
  • count : int
  • error : перечисление
  • errorString : строка
  • measurementSystem : Locale::MeasurementSystem
  • plugin : Плагин
  • query : RouteQuery
  • status : перечисление

Методы

  • void cancel()
  • Route get(int)
  • void reset()
  • void update()

Подробное описание

Тип RouteModel используется как часть группировки модель/представление для получения географических маршрутов от поставщика backend. Маршруты включают данные о направлениях движения между двумя точками, пеших направлениях с несколькими контрольными точками и различных других похожих концепциях. Он работает аналогично другим типам моделей в QML (например, ListModel и XmlListModel), и взаимодействует с представлениями, такими как MapItemView и ListView.

Как и Map и GeocodeModel, все данные для работы RouteModel поступают от плагина сервисов. Он содержится в свойстве plugin, и это свойство должно быть установлено, прежде чем RouteModel сможет выполнять полезную работу.

После установки плагина создайте RouteQuery с соответствующими контрольными точками и другими настройками, и установите свойство RouteModel query. Если свойство autoUpdate включено, обновление будет выполняться автоматически. В противном случае, можно использовать метод update. По умолчанию autoUpdate выключен.

Данные, хранящиеся и возвращаемые в RouteModel, состоят из объектов Route в виде списка с именем роли "routeData". Обратитесь к документации Route для получения дополнительной информации о его структуре и содержимом.

Пример использования

Следующий фрагмент состоит из двух частей, показывающих, во-первых, объявление объектов, а во-вторых, короткий фрагмент процедурного кода, использующего его. Мы устанавливаем свойство routeModel autoUpdate в значение false и вызываем update один раз после настройки запроса, чтобы избежать ненужных дополнительных запросов в середине настройки запроса.

Plugin {
    id: aPlugin
    name: "osm"
}

RouteQuery {
    id: aQuery
}

RouteModel {
    id: routeModel
    plugin: aPlugin
    query: aQuery
    autoUpdate: false
}
{
    aQuery.addWaypoint(...)
    aQuery.addWaypoint(...)
    aQuery.travelModes = ...
    routeModel.update()
}

Документация свойств

autoUpdate : bool

Это свойство управляет тем, обновляется ли модель автоматически в ответ на изменения в прикрепленном объекте RouteQuery. Значение этого свойства по умолчанию — false.

Если установить это значение в 'true', обратите внимание, что любое изменение в объекте RouteQuery, заданном в свойстве query, вызовет отправку нового запроса. Если вы корректируете множество свойств объекта RouteQuery с включенным autoUpdate, это может генерировать большое количество бесполезных (и впоследствии отбрасываемых) запросов.

count : int

Это свойство содержит количество маршрутов, которые есть в модели в настоящее время. Среди прочего, вы можете использовать это значение при обращении к маршрутам через метод QtLocation::RouteModel::get.

error : перечисление

Это свойство только для чтения, содержащее последнее значение ошибки запроса маршрутизации.

  • RouteModel.NoError - Ошибка не произошла.
  • RouteModel.CommunicationError - Произошла ошибка во время связи с поставщиком услуг.
  • RouteModel.EngineNotSetError - Свойство plugin модели не было установлено или с плагином не связан менеджер маршрутизации.
  • RouteModel.MissingRequiredParameterError - Не был указан необходимый параметр.
  • RouteModel.ParseError - Ответ от поставщика услуг был в нераспознаваемом формате.
  • RouteModel.UnknownError - Произошла ошибка, которая не подходит ни под одну из других категорий.
  • RouteModel.UnknownParameterError - Плагин не распознал один из переданных параметров.
  • RouteModel.UnsupportedOptionError - Запрашиваемая операция не поддерживается поставщиком маршрутизации. Это может произойти, когда загруженный движок не поддерживает определенный тип запроса маршрутизации.

errorString : строка

Это свойство только для чтения, содержащее текстовое представление последней ошибки маршрутизации. Если ошибка не произошла или модель была сброшена, возвращается пустая строка.

Пустая строка также может быть возвращена, если произошла ошибка, для которой нет связанного текстового представления.

measurementSystem : Locale::MeasurementSystem

Это свойство содержит систему измерения, которая будет использоваться при расчете маршрута. Это свойство изменяется при изменении свойства Plugin::locales плагина plugin.

Если устанавливать это свойство, оно должно быть установлено после свойства plugin.

plugin : Плагин

Это свойство содержит плагин, который предоставляет фактический сервис маршрутизации. Обратите внимание, что все плагины не обязательно предоставляют маршрутизацию (могут, например, предоставлять только геокодирование или карты).

Должен быть установлен действительный плагин, прежде чем RouteModel сможет выполнять полезные операции.

См. также Плагин.

query : RouteQuery

Это свойство содержит данные запроса маршрута. Основными данными являются координаты контрольных точек и возможные дополнительные предпочтения (средства передвижения, вещи, которые нужно избежать по пути и т. д.).

status : перечисление

Это свойство только для чтения, содержащее текущий статус модели.

  • RouteModel.Null - Не были выпущены запросы маршрутов или был вызван метод reset.
  • RouteModel.Ready - Запрос(ы) маршрута успешно завершены.
  • RouteModel.Loading - Запрос маршрута был выпущен, но еще не завершен.
  • RouteModel.Error - Произошла ошибка маршрутизации, подробности см. в error и errorString

Документация методов

void cancel()

Отменяет все ожидающие запросы и очищает ошибки. Статус модели будет установлен либо в RouteModel.Null, либо в RouteModel.Ready.

Route get(int)

Возвращает маршрут по указанному индексу. Используйте свойство count, чтобы проверить количество доступных маршрутов. Маршруты индексируются с нуля, поэтому доступный диапазон составляет 0...(count - 1).

Если обращение выходит за пределы диапазона, возвращается ноль (нулевой объект), и выводится предупреждение.

void reset()

Сбрасывает модель. Все данные маршрутов очищаются, любые ожидающие запросы прерываются, и возможные ошибки очищаются. Статус модели будет установлен в RouteModel.Null

void update()

Инструктирует RouteModel обновить свои данные. Это наиболее полезно, когда свойство autoUpdate выключено, чтобы принудительно обновить данные при изменении запроса.

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/archives/qt-5.11/qml-qtlocation-routemodel.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API