Spec-Zone.ru › Qt 5.6

Подключаемый модуль Qt Location HERE

Обзор

В Qt Location включён плагин геосервисов, который получает доступ к соответствующим сервисам HERE, предоставляемым HERE/Nokia. Использование этих сервисов регулируется условиями использования, доступными по адресу https://developer.here.com/terms-conditions.

Обратите внимание, что принятие условий использования относится только к использованию плагина геосервисов HERE и не ограничивает использование других плагинов геосервисов, которые могут быть включены в Qt.

Плагин геосервисов HERE может быть загружен, используя ключ плагина "here".

Онлайн-плагин использует классы плиточных карт, которые кэшируют данные плиток в оперативной памяти и памяти текстур.

Параметры

Обязательные параметры

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

Параметр Описание
here.app_id Часть app_id клиента пары app_id/token, используемой для аутентификации всеми менеджерами.
here.token Часть token клиента пары app_id/token для службы, используемой для аутентификации всеми менеджерами.

Плагин геосервисов HERE требует пару идентификатора и токена приложения для аутентификации приложения в сервисах HERE. Чтобы получить пару идентификатора и токена приложения, посетите https://developer.here.com/

Необязательные параметры

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

Примечание: С Qt 5.5 все параметры ниже должны быть префиксными с here. Предыдущие версии не требовали префикса.

Параметр Описание
here.proxy URL прокси-сервера, используемый всеми менеджерами. Для использования системного прокси просто передайте "system" в качестве значения.

Примечание: См. замечания в QNetworkProxyFactory::systemProxyForQuery() для получения дополнительной информации.

here.mapping.host Базовый URL службы плиток карты, используемый менеджером отображения.
here.mapping.host.aerial URL службы плиток воздушной карты, используемый менеджером отображения. Для всех спутниковых, гибридных и рельефных схем.
here.mapping.cache.directory Абсолютный путь к каталогу кэша плиток карты, используемому в качестве кэша дискового хранилища.

По умолчанию кэш находится в каталоге QtLocation/here в QStandardPaths::writableLocation(QStandardPaths::GenericCacheLocation). На системах, которые не имеют понятия о совместном кэше, используется локальный кэш приложения QStandardPaths::CacheLocation.

here.mapping.cache.disk.size Размер кэша дисковых плиток карты в байтах. По умолчанию размер кэша составляет 20 МБ.
here.mapping.cache.memory.size Размер кэша плиток карты в оперативной памяти в байтах. По умолчанию размер кэша составляет 3 МБ.
here.mapping.cache.texture.size Размер кэша текстур плиток карты в байтах. По умолчанию размер кэша составляет 6 МБ. Обратите внимание, что размер кэша текстур имеет жесткий минимальный размер, который зависит от размера области просмотра карты (он должен содержать достаточно данных для отображения плиток, которые в данный момент видны на экране). Это значение — количество кэша, используемого дополнительно к минимальному необходимому.
here.geocoding.host URL службы геокодирования, используемой менеджером геокодирования.
here.routing.host URL службы маршрутизации, используемой менеджером маршрутизации.
here.places.host URL службы поиска, используемой менеджером поиска.
here.places.api_version Версия REST API, используемая менеджером мест. В настоящее время поддерживаются версии 1 и 2. Версия 1 устарела и не будет частью финальной версии Qt. По умолчанию используется версия 2.

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

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

QML

Plugin {
    name: "here"
    PluginParameter { name: "here.app_id"; value: "myapp" }
    PluginParameter { name: "here.token"; value: "abcdefg12345" }
}

C++

QMap<QString,QVariant> params;
params["here.app_id"] = "myapp";
params["here.token"] = "abcdefg12345";

QGeoServiceProvider *gsp = new QGeoServiceProvider("here", params);

Места

Провайдер HERE удалённо получает доступ к местам (только чтение) с сервера на основе REST. Конкретные возможности и поведение описаны ниже:

Возможности

Хранение удаленное
Чтение/Запись только чтение
Иконки да
Предложения по поисковому запросу да
Рекомендации да
Структура категорий Иерархическая
(Изображения с богатым) содержимым да
(Изображения с богатым) содержимым обзоров да
(Изображения с богатым) содержимым редакционных статей да
Все детали, полученные во время поиска нет
Индекс смещения страниц нет
Предел страниц да
Подсказка о соответствии расстояния нет
Подсказка о соответствии по лексическому названию нет
Расширенные атрибуты да
Уведомления о добавлении/удалении мест/категорий нет
Сферы видимости общедоступные
Соответствие избранных мест/(используется как favoritesPlugin) нет

Особенности и ограничения плагина.

Поиск

В следующем списке показаны основные данные о местах, возвращаемые во время поиска места:

  • название
  • местоположение
  • контактная информация
  • атрибуция
  • категории
  • рейтинг
  • видимость

В следующем списке показаны дополнительные данные, которые можно получить с помощью QPlaceManager::getDetails():

  • поставщик
  • расширенные атрибуты

Поиск мест

Поисковый запрос и категории

Плагин HERE поддерживает поиск по поисковому запросу и категории или категориям, но оба одновременно не поддерживаются.

  • Допустимое использование: поисковый запрос + центр поиска
  • Допустимое использование: категория + центр поиска
  • Недопустимое использование: поисковый запрос + категория + центр поиска

Это ограничение применяется при использовании плагина HERE с PlaceSearchModel и QPlaceManager::search().

Площадь поиска

Плагин HERE поддерживает только предоставление центра поиска при поиске мест с помощью PlaceSearchModel и QPlaceManager::search(). Центр поиска можно предоставить с помощью окружности ограничительной рамки, но радиус следует сохранить по умолчанию — -1. Как правило, разработчику не нужно устанавливать радиус вообще. Если разработчик задаёт радиус, он игнорируется плагином, и границы не учитываются.

Аналогичным образом при поиске учитывается только центр ограничительной прямоугольной области. Границы области не учитываются.

Для всех поисков обязательно должно быть предоставлено местоположение центра поиска.

Подсказки о соответствии

Плагин HERE не поддерживает подсказки о соответствии. Любые подсказки о соответствии, переданные в запрос на поиск, соответственно игнорируются.

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

При получении предложений по поисковому запросу поддерживается только частичный поисковый запрос и центр поиска. Это ограничение применяется при использовании плагина HERE с PlaceSearchSuggestionModel и QPlaceManager::searchSuggestions().

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

Рекомендации

В качестве параметра для рекомендаций поддерживается только заданный идентификатор места. Другие параметры, такие как лимит, смещение и область поиска, не поддерживаются. Это ограничение применяется при использовании плагина HERE с PlaceSearchModel и QPlaceManager::search().

Расширенные атрибуты

Поддерживаемый набор атрибутов, предоставляемых плагином HERE, не является фиксированным и может расширяться со временем. Также предоставляемые атрибуты могут варьироваться в зависимости от места, например, одно место может предоставлять часы работы, а другое — нет. На момент написания известно, что некоторые места предоставляют openingHours (QPlaceAttribute::OpeningHours) и payment (QPlaceAttribute::Payment) методы, но другие атрибуты могут быть предоставлены сервером бэкенда. У всех мест, предоставляемых плагином, будет атрибут x_provider (QPlaceAttribute::Provider), установленный в here.

Ограничения использования - Расширенные атрибуты и содержимое

Сохранение расширенных атрибутов и богатого содержимого мест запрещено. Для QML это относится к Place::extendedAttributes, ImageModel, ReviewModel и EditorialModel. Для C++ это относится к QPlace::extendedAttribute(), QPlace::content() и QPlaceManager::getPlaceContent().

(Обратите внимание, что плагин HERE — это только источник мест для чтения, и он не поддерживает функции сохранения вообще.)

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

Spec-Zone.ru

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