Spec-Zone.ru › Qt 5.6

Тип QML GeocodeModel

Тип GeocodeModel предоставляет поддержку операций поиска, связанных с географической информацией. Подробнее...

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

Свойства

  • autoUpdate : bool
  • bounds : geoshape
  • count : int
  • error : перечисление
  • errorString : строка
  • limit : int
  • offset : int
  • plugin : Plugin
  • query : QVariant
  • status : перечисление

Сигналы

  • locationsChanged()

Методы

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

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

Тип GeocodeModel используется в рамках группировки «модель/представление» для сопоставления адресов или поисковых строк с географическими местоположениями. Способ использования или отображения сгенерированных географических местоположений определяется любыми представлениями, подключенными к GeocodeModel (например, MapItemView или ListView).

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

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

Данные, хранящиеся и возвращаемые в GeocodeModel, состоят из объектов Location в виде списка с именем роли «locationData». См. документацию по Location для получения дополнительной информации о его структуре и содержимом.

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

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

Plugin {
    id: aPlugin
}

GeocodeModel {
    id: geocodeModel
    plugin: aPlugin
    autoUpdate: false
}
{
    geocodeModel.query = "53 Brandl St, Eight Mile Plains, Australia"
    geocodeModel.update()
}

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

autoUpdate : bool

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

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

bounds : geoshape

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

Допустимые типы — georectangle и geocircle.

count : int

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

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

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

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

errorString : строка

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

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

limit : int

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

Если limit равен -1, возвращается весь набор результатов, в противном случае возвращается не более limit результатов. Значения limit и offset могут использоваться вместе для реализации постраничной навигации.

offset : int

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

Значения limit и offset могут использоваться вместе для реализации постраничной навигации.

plugin : Plugin

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

См. также Plugin.

query : QVariant

Это свойство содержит данные запроса геокодирования. Свойство принимает три типа запросов, которые определяют как данные, так и тип действия, которое нужно выполнить:

  • Адрес — геокодирование (адрес в координаты)
  • координата — обратное геокодирование (координаты в адрес)
  • строка — геокодирование (адрес в координаты)

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

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

  • GeocodeModel.Null — Не было отправлено запросов на геокодирование или был вызван reset.
  • GeocodeModel.Ready — Запрос геокодирования завершился успешно.
  • GeocodeModel.Loading — Запрос геокодирования отправлен, но еще не завершен
  • GeocodeModel.Error — Произошла ошибка геокодирования, подробности см. в error и errorString

Документация по сигналам

locationsChanged()

Этот сигнал испускается, когда местоположения в модели изменились.

См. также count.

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

void cancel()

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

Location get(int)

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

При обращении за пределами допустимого диапазона возвращается нулевой объект (null) и выводится предупреждение.

void reset()

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

void update()

Инструктирует GeocodeModel обновить свои данные. Это наиболее полезно, когда свойство 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-geocodemodel.html

Spec-Zone.ru

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