Чтобы сделать запрос онлайн данных (ОД), необходимо выполнить следующие действия:
Реализацию данного алгоритма на JS можно найти в рецепте, иллюстрирующем отображение онлайн данных на карте.
Для реализации данного алгоритма на C# необходимо:
public class OnlineDataExample
{
//заглушка сервиса подписок на получение онлайн данных
private readonly SpicSoapOnlineDataServiceClient _dataServiceClient;
public OnlineDataExample()
{
_dataServiceClient = new SpicSoapOnlineDataServiceClient();
_dataServiceClient.Endpoint.Behaviors.Add(new AuthorizationBehavior());
}
/// <summary>
/// Метод получения онлайн-данных
/// </summary>
/// <remarks>Необходимо пройти авторизацию перед вызовом этого метода</remarks>
/// <param name="units">Идентификаторы объектов, по которым хотим получить онлайн-данные</param>
public SpicOnlineDataCollection GetOnlineData(int[] unitIds)
{
var subscription = new SpicOnlineDataSubscriptionRequest { UnitIds = unitIds };
var response = _dataServiceClient.Subscribe(subscription);
var onlineData = _dataServiceClient.GetOnlineData(new SpicOnlineDataSessionId { Id = response.SessionId.Value.Id });
return onlineData.OnlineDataCollection;
}
}
var session = subscribeOnServer(unitIds);
var onlineData = getOnlineDataOnServer(session.Id);
return onlineData;
function subscribeOnServer(unitIds) {
return provider.POSTAuthorized(subscribeUrl,
{
UnitIds: unitIds
},
getAuthorizationToken()).response.SessionId;
}
function getOnlineDataOnServer(subscriptionId) {
return provider.POSTAuthorized(getOnlineDataUrl,
{
Id: subscriptionId
},
getAuthorizationToken()).response.OnlineDataCollection;
}
Номер материала: 490
Отправлено: Wed, Sep 12, 2018
Последнее обновление: Sun, Oct 7, 2018
Отправлено: Анисимов Максим Михайлович [m.anisimov@scout-gps.ru]
Online URL: https://kb.scout-gps.ru/article/Запрос-онлайн-данных-в-СПИК-490.html