我正在将GraphicsLayer
用于SimpleLineSymbol
的道路符号系统。
我的代码与以下代码相同:
for (int i = 0; i < 200000; i++)
{
myGraphicsLayer.Graphics[i].Symbol = mySimpleLineSymbol;
}
此代码运行速度很快,但在地图上绘制线条符号非常慢。(大约6秒)。
请帮助我提高符号性能。
最佳答案
我将所有几何图形收集到一条折线中,并为此创建一个图形。然后我创建符号并显示。它需要一秒钟的时间来渲染和显示在地图上。
var myPolyline = new ESRI.ArcGIS.Client.Geometry.Polyline();
for (int i = 0; i < 200000; i++)
{
myPolyline.Paths.Add(((ESRI.ArcGIS.Client.Geometry.Polyline)myGraphicsLayer.Graphics[i].Geometry).Paths[0]);
}
Graphic myGraph = new Graphic();
myGraph.Geometry = myPolyline;
ESRI.ArcGIS.Client.Symbols.SimpleLineSymbol sym = new ESRI.ArcGIS.Client.Symbols.SimpleLineSymbol();
sym.Color = new SolidColorBrush(Colors.Red);
sym.Width = 2;
myGraph.Symbol = sym;
myGraphicsLayer.Graphics.Add(myGraph);
关于c# - Arcgis Silverlight API的性能,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27602825/