С помощью SO я смог создать класс, который приближает меня к созданию объекта GeoJSON:
Это класс:
var envelope = new
{
type = "FeatureCollection",
features = result.Tables[0]
};
string callback = JsonConvert.SerializeObject(envelope);
byte[] resultBytes = Encoding.UTF8.GetBytes(callback);
return new System.IO.MemoryStream(resultBytes);
, который возвращает этот JSON:
{
"type" : "FeatureCollection",
"features" : [
{
"Name " : "Joe",
"Status" : "Dev",
"imageUrl" : "markers/Dev.svg",
"lat" : 34.310100,
"Lon" : -77.215500
},
{
"Name " : "Joe",
"Status" : "Dev",
"imageUrl" : "markers/Dev.svg",
"lat" : 34.310100,
"Lon" : -77.215500
},
{
"Name " : "Mary",
"Status" : "Dev",
"imageUrl" : "markers/Dev.svg",
"lat" : 34.310100,
"Lon" : -77.215500
}
]
}
Мне нужно добавить еще один набор свойств для этого объекта JSON, но я не уверен, как изменить класс для этой цели.
Новый JSON должен выглядеть следующим образомэто;это по сути GeoJSON. Перед каждой «записью» будет еще один набор свойств "type" : "Feature", "properties" : {
. После каждой строки будет также другое подмножество "geometry" :
:
{
"type" : "FeatureCollection",
"features" : [
{
"type" : "Feature",
"properties" : {
"Name " : "Joe",
"Status" : "Dev",
"imageUrl" : "markers/Dev.svg",
"lat" : 34.21092,
"lon" : -77.59384
},
"geometry" : {
"type" : "Point",
"coordinates" : [ -77.59384, 34.21092 ]
}
},
{
"type" : "Feature",
"properties" : {
"Name " : "Mary",
"Status" : "Dev",
"imageUrl" : "markers/Dev.svg",
"lat" : 32.49323,
"lon" : -78.43144
},
"geometry" : {
"type" : "Point",
"coordinates" : [ -78.43144, 32.49323 ]
}
}
]
}
Это дата:
Name Status imageUrl lat lon
Joe Dev markers/Dev.svg 34.21092 -77.59384
Mary Dev markers/Dev.svg 32.49323 -78.43144