为Silverlight 提供将Json解析为Geometry的方法(二)

2014-11-24 00:08:10 · 作者: · 浏览: 27
;



ObservableCollection pPointCollection = new ObservableCollection();


if (JsonPoints is JsonArray)
{
for (int i = 0; i < JsonPoints.Count; i++)
{
if (JsonPoints[i] is JsonArray)
{
ESRI.ArcGIS.Client.Geometry.PointCollection pPointCollections = new ESRI.ArcGIS.Client.Geometry.PointCollection();


JsonArray pInnerPoints = JsonPoints[i] as JsonArray;
for (int j = 0; j < pInnerPoints.Count; j++)
{
string pStr = pInnerPoints[j].ToString();


string[] pStrPoints = pInnerPoints[j].ToString().Substring(1, pInnerPoints[j].ToString().Length - 2).Split(',');
MapPoint pPoint = new MapPoint();
pPoint.X = Convert.ToDouble(pStrPoints[0]);
pPoint.Y = Convert.ToDouble(pStrPoints[1]);


pPointCollections.Add(pPoint);
}


pPointCollection.Add(pPointCollections);


}
}


pPolygon.Rings= pPointCollection;


pGeo = pPolygon;


}
}
}



pGeo.SpatialReference = pSpatial;


return pGeo;
}


推荐阅读: