Поделиться через


Возможности определения местоположения в расширении адаптивной карточки

Примечание.

Возможность геолокации в Adaptive Card Extension будет доступна в SPFx v1.15.

Поэтому убедитесь, что вы установили его, прежде чем продолжить.

Дополнительные сведения об установке предварительной версии SPFx v1.15 см. в примечаниях к выпуску SharePoint Framework v1.15.

В этом руководстве также предполагается, что вы уже создали расширение адаптивной карты SharePoint.

Чтобы узнать, как создать свое первое расширение адаптивной карты SharePoint, попробуйте это руководство.

Новые типы действий для геолокации

Есть 2 действия местоположения:

  1. Получить расположение
  2. Показать расположение

Получить расположение:

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

Действие ACE для получения расположения: VivaAction.GetLocation.

Он принимает необязательный логический параметр: ChooseLocationOnMap.

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

Показать расположение:

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

Действие ACE для отображения расположения: VivaAction.ShowLocation.

Он принимает необязательный параметр расположения: locationCoordinates.

Чтобы отобразить определенное расположение, необходимо передать координаты расположения (широту и долготу) через параметр locationCoordinates.

Объект locationCoordinates состоит из следующих свойств:

{
  /**
   * Latitude of the location.
   */
  latitude: number;

  /**
   * Longitude of the location.
   */
  longitude: number;

  /**
   * Timestamp (optional).
   */
  timestamp?: number;

  /**
   * Accuracy of the location (optional).
   */
  accuracy?: number;
}

Учебник и примеры

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

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

  1. Получение текущего местонахождения пользователя

    В вашем шаблоне JSON введите следующее действие:

    "actions": [{
      type: 'VivaAction.GetLocation',
      id: 'Get Location'
    }]
    

    Когда это действие вызывается, текущая геолокация пользователя извлекается и передается стороннему разработчику через обратный вызов onAction.

    Примечание.

    В этом случае карта не отображается.

  2. Выбор расположения на карте

    В вашем шаблоне JSON введите следующее действие:

    "actions": [{
      type: 'VivaAction.GetLocation',
      id: 'Get Location',
      parameters: {chooseLocationOnMap: true}
    }]
    

    Когда это действие вызывается, открывается карта, указывающая на текущее местоположение пользователя, и пользователь может выбрать и поделиться местоположением по своему выбору. Координаты выбранного местоположения передаются стороннему разработчику через обратный вызов onAction.

  3. Получение текущего местонахождения пользователя

    В вашем шаблоне JSON введите следующее действие:

    "actions": [{
      type: 'VivaAction.ShowLocation',
      id: 'Show Location'
    }]
    

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

  4. Отображение указанного расположения

    В вашем шаблоне JSON введите следующее действие:

    "actions": [{
      type: 'VivaAction.ShowLocation',
      id: 'Show Location',
      parameters: {
        locationCoordinates: {
          latitude: 28.6132039578389,
          longitude: 77.229488240066
        }
      }
    }]
    

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

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

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

Примечание.

Эти действия геолокации могут быть добавлены на карточку или кнопки карточки или внутри быстрого просмотра.

Коды разрешений и ошибок

Чтобы API-интерфейсы местоположения работали, пользователь должен предоставить разрешение на доступ к местоположению устройства.

Код ошибки Описание ошибки
PermissionDenied Пользователь отклонил разрешение на доступ к расположению
InternalError Произошла непредвиденная ошибка при вызове API определения местоположения.
HostNotSupported Действие определения местоположения используется в неподдерживаемой среде.

Обратные вызовы для разработчиков карт

Когда действие VivaAction.GetLocation вызывается, мы передаем полученные координаты местоположения через обратный вызов onAction.

Примечание.

Обратный вызов onAction не вызывается для VivaAction.ShowLocation.

Для действий: VivaAction.GetLocation и VivaAction.ShowLocation, если пользователь попадает в состояние ошибки, то будет использован обратный вызов onError, через который мы передаем имя действия и код ошибки.

Доступность действий геолокации

Примечание.

Эти новые действия в настоящее время доступны только в браузере. поддержка Viva Connections настольных компьютеров и Viva Connections мобильных устройств будет включена позже. После общего доступа матрица поддержки действий будет выглядеть так:

Действие Viva Подключение Рабочий стол Viva Connections Mobile Браузер
Получить расположение Не поддерживается Поддерживается Поддерживается
Показать расположение Не поддерживается Поддерживается Поддерживается