Spec-Zone.ru › Qt 5.11

Подключаемый модуль 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/токен, используемая для аутентификации всеми менеджерами.
here.token Часть токен клиента в паре app_id/токен для сервиса, используемая для аутентификации всеми менеджерами.

Плагин геосервисов 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.cost_strategy Стратегия расчета стоимости для кеширования плиток карты на диске. Допустимые значения — bytesize и unitary. При использовании bytesize связанный параметр размера (here.mapping.cache.disk.size) будет интерпретироваться как количество байтов. При использовании unitary — как количество плиток. Значение по умолчанию для этого параметра — bytesize.
here.mapping.cache.disk.size Размер кэша на диске для плиток карты. Размер кэша по умолчанию составляет 50 МБ, когда стратегия расчета стоимости для этого кэша — bytesize, или 1000 плиток, когда стратегия — unitary.
here.mapping.cache.memory.cost_strategy Стратегия расчета стоимости для кеширования плиток карты в памяти. Допустимые значения — bytesize и unitary. При использовании bytesize связанный параметр размера (here.mapping.cache.memory.size) будет интерпретироваться как количество байтов. При использовании unitary — как количество плиток. Значение по умолчанию для этого параметра — bytesize.
here.mapping.cache.memory.size Размер кэша в памяти для плиток карты. Размер кэша по умолчанию составляет 3 МБ, когда стратегия расчета стоимости для этого кэша — bytesize, или 100 плиток, когда стратегия — unitary.
here.mapping.cache.texture.cost_strategy Стратегия расчета стоимости для кеширования распакованных плиток карты в памяти. Допустимые значения — bytesize и unitary. При использовании bytesize связанный параметр размера (here.mapping.cache.texture.size) будет интерпретироваться как количество байтов. При использовании unitary — как количество плиток. Значение по умолчанию для этого параметра — bytesize.
here.mapping.cache.texture.size Размер кэша текстур для плиток карты. Размер кэша по умолчанию составляет 6 МБ, когда стратегия расчета стоимости для этого кэша — bytesize, или 30 плиток, когда стратегия — unitary. Обратите внимание, что кэш текстур имеет минимальный размер, зависящий от размера области просмотра карты (он должен содержать достаточно данных для отображения плиток, которые в данный момент видны на дисплее). Это значение — количество кэша, используемого дополнительно к минимальному.
here.mapping.prefetching_style Этот параметр позволяет указать, как будет выполняться предзагрузка плиток движком. Значение по умолчанию, TwoNeighbourLayers, заставляет движок предзагружать плитки для слоя над текущим и для слоя под текущим слоем плитки, обеспечивая готовые плитки при приближении или отдалении от текущего уровня масштабирования. OneNeighbourLayer предзагружает только один слой, наиболее близкий к текущему уровню масштабирования. Наконец, NoPrefetching позволяет отключить предзагрузку, так что будут загружаться только видимые плитки. Обратите внимание, что в зависимости от активного типа карты этот параметр может быть проигнорирован.
here.mapping.highdpi_tiles Требовать или не требовать плитки высокой плотности пикселей. Допустимые значения — true и false. Значение по умолчанию — false.
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. Конкретные возможности и поведение описаны ниже:

Возможности

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

Поведение и ограничения плагина

Поиск

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

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

В этом списке показаны дополнительные детали, которые можно получить с помощью 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.11/location-plugin-here.html

Spec-Zone.ru

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