Получение атрибутивных полей слоя(Silverlight)

0 голосов
спросил 03 Фев, 12 от Archi_C (420 баллов) в категории Программные продукты Esri
Доброго времени суток.
Ребята, подскажите пожалуйста как вытащить название атрибутивных полей слоя?

Сервис динамический - ArcGISDynamicMapServiceLayer.
С помощью LayerInfo я вытаксиваю название слоев сервиса, а вот как выташить название атрибутивных полей слоя?

Заранее благодарен.

4 Ответы

0 голосов
ответил 03 Фев, 12 от TDenis (42,620 баллов)
Надо вызвать
ArcGISDynamicMapServiceLayer.GetDetails
(есть ещё GetAllDetails)
и прочитать
FeatureLayerInfo.Fields


private void ArcGISDynamicMapServiceLayer_Initialized(object sender, EventArgs e)
{
    int layerId = 0;
    ((ArcGISDynamicMapServiceLayer) sender).GetDetails(layerId, ShowFields);
}

private void ShowFields(FeatureLayerInfo featureLayerInfo, Exception ex)
{
    if (ex != null) return;
    MessageBox.Show(String.Join(", ", featureLayerInfo.Fields.Select(field => field.Alias)));
}
0 голосов
ответил 04 Фев, 12 от Archi_C (420 баллов)
Спасибо=)
и еще вопрос: GetDetails можно вызвать только при инициализации сервиса?
0 голосов
ответил 04 Фев, 12 от TDenis (42,620 баллов)
Нет. Главное чтобы на момент вызова у экземпляра ArcGISDynamicMapServiceLayer были корректно установлены значения свойств Url, ProxyUrl, Token.
0 голосов
ответил 04 Фев, 12 от Archi_C (420 баллов)
Благодарю за помощь;-) вопрос решен=)
Добро пожаловать на сайт Вопросов и Ответов, где вы можете задавать вопросы по GIS тематике и получать ответы от других членов сообщества.
...