Spec-Zone.ru › Qt 5.6

Тип QML RouteModel

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

Заявление об импорте: import QtLocation 5.3
С: Qt Location 5.5
  • Список всех членов, включая унаследованные

Свойства

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

Методы

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

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

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

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

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

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

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

Следующий фрагмент состоит из двух частей, показывающих во-первых объявление объектов, а во-вторых короткий фрагмент процедурного кода, использующего его. Мы устанавливаем свойство autoUpdate routeModel в значение 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 : Plugin

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

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

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

query : RouteQuery

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

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

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

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

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

void cancel()

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

void 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.6/qml-qtlocation-routemodel.html

Spec-Zone.ru

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