Интеграция функций местонахождения

Вы можете интегрировать возможности расположения в приложение Teams с помощью клиентского пакета SDK Для JavaScript Майкрософт Teams, который предоставляет четко определенные API-интерфейсы и необходимые инструменты для вашего приложения, чтобы получить доступ к возможностям собственного устройства пользователя. Возможность расположения доступна для веб-клиента Teams, настольного компьютера и мобильного устройства.

Преимущества

Вы можете использовать API-интерфейсы расположения, такие как getLocation и showLocation , для интеграции возможностей в приложении.

Примечание.

В этом разделе представлена версия 2.0.x клиентского пакета SDK JavaScript Майкрософт Teams. Если вы используете более раннюю версию, ознакомьтесь с обзором пакета SDK для Teams JS , чтобы узнать о различиях между последней версией TeamsJS и более ранними версиями.

Преимущество интеграции возможностей определения местоположения в приложениях Teams заключается в использовании функций определения местоположения в веб-клиенте Teams, на настольных компьютерах и мобильных устройствах с помощью клиентского пакета SDK javaScript Майкрософт Teams. В следующих сценариях демонстрируются преимущества возможностей расположения.

  • Обмен данными о работоспособности вышек сотовой связи с руководством. Руководство может сравнить любые несоответствия между собранными сведениями о местонахождении и данными, отправленными обслуживающим персоналом.
  • Найдите сотрудников службы технической поддержки в указанной области. Приложение просит сотрудников службы поддержки поделиться своим текущим местоположением, которое руководство может использовать для выделения ИТ-запроса ближайшему сотруднику службы поддержки после проверки его профиля.
  • Сообщите о расположении после завершения задания в поле. Приложение обработки заданий запрашивает разрешение на поиск расположения. После того как пользователь предоставит разрешение, приложение определяет точное расположение. Пользователь также может выбрать расположение, перетащив булавку в место завершения задания по карте.
  • Фиксировать посещаемость с помощью селфи в розничном магазине. Менеджер магазина может отслеживать посещаемость работников, попросив их поделиться селфи через приложение посещаемости. Данные о расположении захватываются и отправляются вместе с изображением. Этот сценарий применим главным образом к сотрудникам, работающим на линии фронта.

На следующем рисунке показан интерфейс API getLocation с веб-приложением:

Рисунок, показывающий средство выбора расположения.

Чтобы интегрировать возможности определения местоположения, необходимо:

Изменение манифеста

Обновите файл manifest.json своего приложения Teams, добавив свойство devicePermissions и указав geolocation. Это позволяет приложению запрашивать необходимые разрешения у пользователей, прежде чем они начнут использовать возможности расположения. Измените манифест приложения, выполнив следующие шаги.

"devicePermissions": [
    "geolocation",
],

Примечание.

API-интерфейсы местонахождения

В следующей таблице представлен набор API для включения возможностей расположения устройства.

API Описание Конфигурация входных данных
getLocation Предоставляет текущее расположение устройства пользователя или открывает собственное средство выбора местоположения и возвращает расположение, выбранное пользователем. API getLocation принимает следующие два входных параметра в интерфейс LocationProps : allowChooseLocation, showMap:
Интерфейс является производным от сочетания этих двух входных параметров:
— (true, true): карта запускается, и пользователь получает возможность выбрать любое расположение на ней.
— (true, false): карта запускается, и пользователь получает возможность выбрать любое расположение на ней.
— (false, true): карта запускается. Пользователь может отправить только текущее расположение.
— (false,false): карта не запускается. Текущее расположение пользователя извлекается.
showLocation Отображает местонахождение на карте. Он принимает один входной параметр, содержащий координаты расположения, которое будет отображаться на карте.

Примечание.

Для getLocation API:

  • Если allowChooseLocation задано значение true, то showMap игнорируется.
  • showMap= значение false не поддерживается в веб-приложениях и на настольных компьютерах Teams.

Дополнительные сведения о и showLocationсм. в getLocation разделе LocationProps.

Важно!

Когда приложение или службы обращаются к API Майкрософт, который предоставляет расположение с помощью Карты Bing, вы понимаете и соглашаетесь с тем, что любое содержимое, предоставляемое через Карты Bing, включая геокоды, может использоваться только в Майкрософт API, через который предоставляется содержимое. Использование Карты Bing регулируется условиями использования Карты Bing конечным пользователем, доступными в go.microsoft.com и Заявлением о конфиденциальности Майкрософт.
Кроме того, необходимо указать гипертекстовую ссылку на Карты Bing TOU, которая находится здесь, либо в нижней части каждой страницы приложения, где можно получить доступ к службам или просмотреть их, либо в соответствии с условиями использования приложения. Вы несете ответственность за уведомление конечных пользователей об изменениях в Карты Bing TOU и будете соблюдать разумные инструкции Майкрософт в этом отношении. Вы не будете поощрять или требовать от пользователя нарушения условий Карты Bing toU. В случае, если пользователь нарушает Карты Bing ОГЛА, Майкрософт может немедленно прекратить действие настоящего соглашения.

Фрагменты кода

  • Вызовите getLocation API, чтобы получить расположение:
import {location} from "@microsoft/teams-js"

let locationProps = {"allowChooseLocation":true,"showMap":true};
if(location.isSupported()) {
    const locationPromise = location.getLocation(locationProps);
    locationPromise.
        then((result) => {output(JSON.stringify(result));}.
        catch((error) => {output(error);});
}
else {/*Handle case where capability isn't supported */}
  • ВызовИТЕ showLocation API для отображения расположения:
import {location} from "@microsoft/teams-js"

let location = {"latitude":17,"longitude":17};
if(location.isSupported()) {
    const locationPromise = location.showLocation(location);
    locationPromise.
         then((result) => {/*Successful map display*/}).
         catch((error) => {/*Failed map display*/});
}
else {/*Handle case where capability isn't supported */}

Обработка ошибок

Обеспечьте правильную обработку этих ошибок в приложении Teams. В следующей таблице перечислены коды ошибок и условия, при которых возникают ошибки:

Код ошибки Название ошибки Условие
100 NOT_SUPPORTED_ON_PLATFORM API не поддерживается на текущей платформе.
500 INTERNAL_ERROR При выполнении требуемой операции обнаружена внутренняя ошибка.
1000 PERMISSION_DENIED Пользователь запретил доступ к расположению для приложения Teams или веб-приложения.
4000 INVALID_ARGUMENTS API вызывается с неправильными или недостаточными обязательными аргументами.
8000 USER_ABORT Пользователь отменил операцию.
9000 OLD_PLATFORM Пользователь использует старую сборку платформы, где отсутствует реализация API. Обновление сборки должно устранить проблему.

Пример кода

Название примера Описание C# Node.js
Проверка текущего местонахождения приложением Пользователи могут проверить текущее местонахождение и просмотреть все предыдущие проверки местонахождения. Просмотр Просмотр

См. также