Spec-Zone.ru › Qt 5.13

Плагин 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 Часть 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. Конкретные возможности и поведение описаны ниже:

Возможности

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

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

Поиск

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

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

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

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

Поиск мест

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

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

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

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

Область поиска

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

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

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

Подсказки о релевантности

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

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

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

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

END_OF_DOCUMENT_MARKER

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

В качестве параметра для рекомендаций поддерживается только указанный идентификатор места. Другие параметры, такие как limit, offset и область поиска, не поддерживаются. Это ограничение применяется при использовании плагина 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/qt-5.13/location-plugin-here.html

Spec-Zone.ru

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