Spec-Zone.ru › Qt 5.12

Тип QML GeocodeModel

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

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

Свойства

  • autoUpdate : bool
  • bounds : geoshape
  • count : int
  • error : перечисление
  • errorString : строка
  • limit : int
  • offset : int
  • 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 : Плагин

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

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

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).

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

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/qt-5.12/qml-qtlocation-geocodemodel.html

Spec-Zone.ru

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