Spec-Zone.ru › Qt 5.11

Класс QPlaceManager

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

Заголовок: #include <QPlaceManager>
qmake: QT += location
С момента: Qt 5.6
Наследуется от: QObject
  • Список всех членов, включая унаследованные

Публичные функции

virtual ~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)
  • 34 публичных функций унаследовано от QObject

Сигналы

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)
  • 2 сигнала унаследовано от QObject

Дополнительные унаследованные члены

  • 1 свойство унаследовано от QObject
  • 1 публичный слот унаследован от QObject
  • 1 публичная переменная унаследована от QObject
  • 10 статических публичных членов унаследовано от QObject
  • 9 защищённых функций унаследовано от QObject
  • 2 защищённые переменные унаследовано от QObject

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

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

В следующей таблице представлен обзор функциональности, предоставляемой классом 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().

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

[virtual] QPlaceManager::~QPlaceManager()

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

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

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

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

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.

[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() вместо этого.

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.

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

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)

Сохраняет указанное 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.

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

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

Spec-Zone.ru

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