I'm trying to send a few polygons from a controller to a ajax request on the view. I'm using gmaps.js on client side. And I'm trying to follow the GeoJson specs for polygon object. Here is my raw object:
[
{
"type" : "POLYGON",
"id" : null,
"geometry" :
[
[
[25.24718989858574, 55.34980773925781],
[25.24715108267782, 55.34893870353699],
[25.24763628063545, 55.34891724586487],
[25.247869174966873, 55.34907817840576],
[25.247869174966873, 55.34965753555298],
[25.24767509638834, 55.34981846809387]
]
]
},
{
"type" : "POLYGON",
"id" : null,
"geometry" :
[
[
[25.248684301611156, 55.34983992576599],
[25.248480520462763, 55.349721908569336],
[25.24788858280767, 55.34993648529053],
[25.247578056982842, 55.35008668899536],
[25.247354866056035, 55.35041928291321],
[25.246830850964393, 55.35105228424072],
[25.2466755867995, 55.35133123397827],
[25.24611275253863, 55.35210371017456],
[25.24532672101826, 55.353219509124756],
[25.24626801742273, 55.35389542579651],
[25.24648150631442, 55.354024171829224],
[25.248655190039447, 55.3501296043396]
]
]
},
{
"type" : "POLYGON",
"id" : null,
"geometry" :
[
[
[25.246190385005487, 55.35040855407715],
[25.246190385005487, 55.35080552101135],
[25.246374761915458, 55.35084843635559],
[25.24653002646476, 55.35092353820801],
[25.24661736268653, 55.35104155540466],
[25.24703463487969, 55.350472927093506],
[25.246918186969957, 55.35039782524109]
]
]
},
{
"type" : "POLYGON",
"id" : null,
"geometry" :
[
[
[25.24541891016349, 55.350982546806335],
[25.24540920604625, 55.35240948200226],
[25.24495311166098, 55.352463126182556],
[25.244967667891192, 55.350998640060425]
]
]
},
{
"type" : "POLYGON",
"id" : null,
"geometry" :
[
[
[25.245229679737204, 55.35044610500336],
[25.245244235934287, 55.35085916519165],
[25.246098196445583, 55.35085916519165],
[25.24614671674897, 55.3508323431015],
[25.24614671674897, 55.35039246082306],
[25.24603997205592, 55.35036027431488]
]
]
}
]
To represent one polygon, I have this class on server side:
public class TempPolygon
{
public string Type { get; set; }
public string Id { get; set; }
public List<Tuple<decimal, decimal>> Geometry { get; set; }
public TempPolygon()
{
Type = "POLYGON";
Id = null;
}
}
Now the action will return a List<TempPolygon>
as JsonResult
but I'm not able to figure out if my definition of the TempPolygon class is correctly reflecting the GeoJson. Also if I paste the Json on http://json2csharp.com/, I get this class:
public class RootObject
{
public string type { get; set; }
public object id { get; set; }
public List<List<List<double>>> geometry { get; set; }
}
The List<List<List<double>>>
makes no sense as clearly, latitude and longitude are pairs. How do i define my class's Geometry property to reflect the specs of GeoJson