Spec-Zone.ru › Qt 5.9

Тип QML RouteModel

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

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

Свойства

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

Методы

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

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

Тип RouteModel используется как часть группировки модель/вид для получения географических маршрутов от поставщика back-end. Маршруты включают данные о дорожных указаниях между двумя точками, пеших указаниях с несколькими точками, и других подобных концепциях. Он функционирует подобно другим типам моделей в 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 после того, как query будет настроен, чтобы избежать бесполезных дополнительных запросов в середине настройки query.

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 сможет выполнять какие-либо полезные операции.

См. также Plugin.

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/qt-5.9/qml-qtlocation-routemodel.html

Spec-Zone.ru

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