1

我在哪里可以学习如何查询 ESRI 地图的图层?我需要查询 esri 地图的图层并将数据存储在字典中。

4

1 回答 1

4

ESRI Silverlight SDKQueryTask为此提供了一个对象。您的地图必须使用 ArcGIS Server 发布,并提供 REST 端点 (URL) 以进行查询。查看ESRI 示例页面。它们包括几个不同样式查询的示例。

以最简单的形式,查询看起来像......

void DoQuery()
{
    QueryTask queryTask = new QueryTask("[AGS Service Endpoint]"); // Service url typically in format of http://[servername]/ArcGIS/rest/services/[ServiceName]/MapServer/[LayerId]
    queryTask.ExecuteCompleted += QueryTask_ExecuteCompleted;

    ESRI.ArcGIS.Client.Tasks.Query query = new ESRI.ArcGIS.Client.Tasks.Query();
    query.Where = "1=1"; // Return all features
    query.OutFields.Add("*"); // Return all fields
    queryTask.ExecuteAsync(query);
}

void QueryTask_ExecuteCompleted(object sender, ESRI.ArcGIS.Client.Tasks.QueryEventArgs args)
{
    FeatureSet featureSet = args.FeatureSet;

    if (featureSet == null || featureSet.Features.Count == 0) return;

    foreach (Graphic feature in featureSet.Features)
    {
        // feature.Attributes is a type Dictionary<string, object> containing all attributes. Do something with it.
    }
}
于 2010-08-03T15:18:56.633 回答