Spec-Zone.ru › Qt 5.14

Класс QPlaceManager

Класс QPlaceManager предоставляет интерфейс, позволяющий клиентам получить доступ к местам, хранящимся в конкретном бэкенде. Подробнее...

Заголовок: #include <QPlaceManager>
qmake: QT += location
С момента: Qt 5.6
Наследуется от: QObject

Этот класс был представлен в Qt 5.6.

  • Список всех членов, включая наследуемые члены

Открытые функции

виртуальный ~QPlaceManager()
QPlaceCategory category(const QString &categoryId) const
QList<QPlaceCategory> childCategories(const QString &parentId = QString()) const
QStringList childCategoryIds(const QString &parentId = QString()) const
QPlace compatiblePlace(const QPlace &original)
QPlaceContentReply * getPlaceContent(const QPlaceContentRequest &request) const
QPlaceDetailsReply * getPlaceDetails(const QString &placeId) const
QPlaceReply * initializeCategories()
QList<QLocale> locales() const
QString managerName() const
int managerVersion() const
QPlaceMatchReply * matchingPlaces(const QPlaceMatchRequest &request) const
QString parentCategoryId(const QString &categoryId) const
QPlaceIdReply * removeCategory(const QString &categoryId)
QPlaceIdReply * removePlace(const QString &placeId)
QPlaceIdReply * saveCategory(const QPlaceCategory &category, const QString &parentId = QString())
QPlaceIdReply * savePlace(const QPlace &place)
QPlaceSearchReply * search(const QPlaceSearchRequest &request) const
QPlaceSearchSuggestionReply * searchSuggestions(const QPlaceSearchRequest &request) const
void setLocale(const QLocale &locale)
void setLocales(const QList<QLocale> &locales)

Сигналы

void categoryAdded(const QPlaceCategory &category, const QString &parentId)
void categoryRemoved(const QString &categoryId, const QString &parentId)
void categoryUpdated(const QPlaceCategory &category, const QString &parentId)
void dataChanged()
void error(QPlaceReply *reply, QPlaceReply::Error error, const QString &errorString = QString())
void finished(QPlaceReply *reply)
void placeAdded(const QString &placeId)
void placeRemoved(const QString &placeId)
void placeUpdated(const QString &placeId)

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

Следующая таблица предоставляет обзор функциональности, предоставляемой QPlaceManager

Функциональность Описание
Поиск мест Используя набор параметров, таких как поисковый термин и область поиска, пользователю могут быть возвращены соответствующие места.
Категории Места могут быть классифицированы как принадлежащие к различным категориям. Менеджер поддерживает доступ к этим категориям.
Предложения поисковых терминов При заданном частично полном поисковом термине может быть предоставлен список потенциальных поисковых терминов.
Рекомендации При заданном существующем месте пользователю могут быть предложены набор похожих рекомендуемых мест.
Подробное содержание Подробное содержание, такое как изображения, отзывы и т. д., может быть получено по страницам.
Управление местами или категориями Места и категории могут быть сохранены и удалены. При этом могут быть отправлены уведомления.
Локализация Для возврата данных о местоположении на разных языках могут быть указаны разные языковые среды.

Получение экземпляра QPlaceManager

Создание QPlaceManager облегчается с помощью QGeoServiceProvider. См. Инициализация менеджера для примера создания менеджера.

Асинхронный интерфейс

Класс QPlaceManager предоставляет абстракцию хранилища данных, содержащего информацию о местоположениях. Функции, предоставляемые QPlaceManager, в основном асинхронные и следуют модели запрос-ответ. Обычно менеджеру передается запрос, состоящий из различных параметров, и создается объект ответа. Объект ответа имеет сигнал для уведомления о завершении запроса, и после завершения ответ содержит результаты запроса, а также любые возникшие ошибки, если таковые имеются.

Асинхронный запрос обычно обрабатывается следующим образом:

//1) Make an appropriate request
QPlaceSearchRequest searchRequest;
searchRequest.setSearchTerm("ice cream");
searchRequest.setSearchArea(QGeoCircle(QGeoCoordinate(12.34, 56.78)));

//2) Use the manager to initiate a request and retrieve a reply object
QPlaceSearchReply * searchReply = manager->search(searchRequest);

//3) Connect the reply object to a slot which is invoked upon operation completion
connect(searchReply, SIGNAL(finished()), this, SLOT(processSearchReply()));
    ...
    ...
//4) Have the slot appropriately process the results of the operation
void processSearchReply() {
    if (searchReply->error() == QPlaceReply::NoError) {
        foreach (const QPlaceSearchResult &result, searchReply->results()) {
            if (result.type() == QPlaceSearchResult::PlaceResult)
                qDebug() << "Title:" << result.title();
        }
    }

//5) Discard the rely object when done.
    searchReply->deleteLater();
    searchReply = 0;
}

См. Общие операции для списка примеров, демонстрирующих, как используется QPlaceManger.

Инициализация категорий

Иногда во время запуска приложения следует вызвать функцию initializeCategories() для настройки категорий. Инициализация категорий позволяет использовать следующие функции:

  • QPlaceManager::childCategories()
  • QPlaceManager::category()
  • QPlaceManager::parentCategoryId()
  • QPlaceManager::childCategoryIds();

Если категории необходимо обновить или перезагрузить, можно снова вызвать функцию initializeCategories().

Документация по функциям-членам

[signal] void QPlaceManager::categoryAdded(const QPlaceCategory &category, const QString &parentId)

Этот сигнал излучается, если category была добавлена в хранилище данных менеджера. Родитель category задается параметром parentId.

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

См. также dataChanged().

[signal] void QPlaceManager::categoryRemoved(const QString &categoryId, const QString &parentId)

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

Этот сигнал испускается только менеджерами, которые поддерживают функцию QPlaceManager::NotificationsFeature.

См. также dataChanged().

[signal] void QPlaceManager::categoryUpdated(const QPlaceCategory &category, const QString &parentId)

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

Этот сигнал испускается только менеджерами, которые поддерживают функцию QPlaceManager::NotificationsFeature.

См. также dataChanged().

[signal] void QPlaceManager::dataChanged()

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

Если сигнал испускается, другие сигналы для связанных изменений не будут испускаться.

Этот сигнал испускается только менеджерами, которые поддерживают функцию QPlaceManager::NotificationsFeature.

[signal] void QPlaceManager::error(QPlaceReply *reply, QPlaceReply::Error error, const QString &errorString = QString())

Этот сигнал испускается, когда в обработке reply была обнаружена ошибка. Вероятно, последует сигнал QPlaceManager::finished().

Ошибка будет описана кодом ошибки error. Если errorString не пуста, она будет содержать текстовое описание ошибки, предназначенное для разработчиков, а не конечных пользователей.

Этот сигнал и QPlaceReply::error() будут испущены одновременно.

Примечание: Не удаляйте объект reply в слоте, подключенном к этому сигналу. Используйте deleteLater() вместо этого.

[signal] void QPlaceManager::finished(QPlaceReply *reply)

Этот сигнал испускается, когда обработка reply завершена.

Если reply->error() равно QPlaceReply::NoError, обработка завершилась успешно.

Этот сигнал и QPlaceReply::finished() будут испущены одновременно.

Примечание: Не удаляйте объект reply в слоте, подключенном к этому сигналу. Используйте deleteLater() вместо этого.

[signal] void QPlaceManager::placeAdded(const QString &placeId)

Этот сигнал испускается, если место было добавлено в хранилище данных движка менеджера. Конкретное добавленное место задаётся параметром placeId.

Этот сигнал испускается только менеджерами, которые поддерживают функцию QPlaceManager::NotificationsFeature.

См. также dataChanged().

[signal] void QPlaceManager::placeRemoved(const QString &placeId)

Этот сигнал испускается, если место было удалено из хранилища данных менеджера. Конкретное удалённое место задаётся параметром placeId.

Этот сигнал испускается только менеджерами, которые поддерживают функцию QPlaceManager::NotificationsFeature.

См. также dataChanged().

[signal] void QPlaceManager::placeUpdated(const QString &placeId)

Этот сигнал испускается, если место было изменено в хранилище данных менеджера. Конкретное изменённое место задаётся параметром placeId.

Этот сигнал испускается только менеджерами, которые поддерживают функцию QPlaceManager::NotificationsFeature.

См. также dataChanged().

[virtual] QPlaceManager::~QPlaceManager()

Уничтожает менеджер. Этот деструктор используется внутри QGeoServiceProvider и никогда не должен вызываться в коде приложения.

QPlaceCategory QPlaceManager::category(const QString &categoryId) const

Возвращает категорию, соответствующую заданному categoryId.

QList<QPlaceCategory> QPlaceManager::childCategories(const QString &parentId = QString()) const

Возвращает список категорий, являющихся дочерними по отношению к категории, соответствующей parentId. Если parentId пуста, возвращаются все категории верхнего уровня.

QStringList QPlaceManager::childCategoryIds(const QString &parentId = QString()) const

Возвращает идентификаторы дочерних категорий категории, соответствующей parentId. Если parentId пуста, возвращаются идентификаторы всех категорий верхнего уровня.

QPlace QPlaceManager::compatiblePlace(const QPlace &original)

Возвращает обрезанную или изменённую версию места original, подходящую для сохранения в этом менеджере.

В изменённой версии присутствуют только те детали места, которые поддерживаются этим менеджером. Данные, специфичные для менеджера, такие как идентификатор места, не копируются из original.

QPlaceContentReply *QPlaceManager::getPlaceContent(const QPlaceContentRequest &request) const

Извлекает содержимое места в соответствии с параметрами, указанными в request.

См. Получение подробного содержимого для примера использования.

QPlaceDetailsReply *QPlaceManager::getPlaceDetails(const QString &placeId) const

Извлекает детали места, соответствующего заданному placeId.

См. Извлечение деталей места для примера использования.

QPlaceReply *QPlaceManager::initializeCategories()

Инициализирует категории менеджера.

См. Использование категорий для примера использования.

QList<QLocale> QPlaceManager::locales() const

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

Если первая указанная локаль не поддерживается, менеджер переходит к следующей и так далее. Некоторые бэкенды менеджеров могут не поддерживать строго определённый набор локалей. Пример: в некоторых районах Франции могут быть французские и английские локализации, в то время как в некоторых районах Америки доступна только английская локализация. В этом примере набор поддерживаемых локалей зависит от контекста места поиска.

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

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

Для менеджеров, которые не поддерживают локали, список локалей всегда пуст.

См. также setLocales().

QString QPlaceManager::managerName() const

Возвращает имя менеджера

int QPlaceManager::managerVersion() const

Возвращает версию менеджера.

QPlaceMatchReply *QPlaceManager::matchingPlaces(const QPlaceMatchRequest &request) const

Возвращает ответ, содержащий список мест, соответствующих/сопоставляемых с указанными в request. Указанные в запросе места взяты из другого менеджера.

QString QPlaceManager::parentCategoryId(const QString &categoryId) const

Возвращает идентификатор родительской категории категории, соответствующей categoryId.

QPlaceIdReply *QPlaceManager::removeCategory(const QString &categoryId)

Удаляет категорию, соответствующую categoryId, из менеджера.

См. Удаление категории для примера использования.

QPlaceIdReply *QPlaceManager::removePlace(const QString &placeId)

Удаляет место, соответствующее placeId, из менеджера.

См. Удаление места cpp для примера использования.

QPlaceIdReply *QPlaceManager::saveCategory(const QPlaceCategory &category, const QString &parentId = QString())

Сохраняет category, являющуюся дочерним элементом категории, указанной parentId. Пустое parentId означает, что category сохраняется как категория верхнего уровня.

См. Сохранение категории для примера использования.

QPlaceIdReply *QPlaceManager::savePlace(const QPlace &place)

Сохраняет указанное место.

См. Сохранение места cpp для примера использования.

QPlaceSearchReply *QPlaceManager::search(const QPlaceSearchRequest &request) const

Ищет места в соответствии с параметрами, указанными в request.

См. Открытие/Поиск для примера использования.

QPlaceSearchSuggestionReply *QPlaceManager::searchSuggestions(const QPlaceSearchRequest &request) const

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

См. Предложения по поиску для примера использования.

void QPlaceManager::setLocale(const QLocale &locale)

Функция удобства, которая устанавливает список предпочтительных языковых локалей менеджера на единственную locale.

void QPlaceManager::setLocales(const QList<QLocale> &locales)

Устанавливает список предпочтительных языковых локалей.

См. также locales().

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.14/qplacemanager.html

Spec-Zone.ru

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