Chamada do Ajax para obter dados do GeoJson do Controlador ASP.NET MVC
Usando ASP.NET MVC 3 com C # Eu tenho uma página da web para exibir um mapa no qual eu quero adicionar uma polilinha que consiste em várias coordenadas de latitude e longitude. Com oFolheto Biblioteca JavaScript que você pode adicionarGeoJson camadas. Eu quero obter as coordenadas de longitude e latitude de um banco de dados em C # e passar a lista de coordenadas para o JavaScript para criarGeoJson ou comoGeoJson.
Aqui está um exemplo do GeoJson que desejo criar:
var polyline = {
"type": "Feature",
"geometry": {
"type": "LineString",
"coordinates": [
[-105.00341892242432, 39.75383843460583],
[-105.0008225440979, 39.751891803969535] …
]
},
"properties": {
"popupContent": "This is a polyline of many coordinates.",
"underConstruction": false
}
};
Como posso criar GeoJson semelhante ao mostrado acima e adicionar dados de localização ao “coordenadasSeção do C # ou JavaScript e, em seguida, usá-lo em JavaScript para adicionar uma camada como tal:
var myLayer = L.geoJson().addTo(map);
myLayer.addData(polyline);
Eu comecei a usar o GeoJSON.net e criei este código:
foreach (Position point in Positions)
{
coordinates.Add(point);
}
GeoJSON.Net.Geometry.LineString line = new GeoJSON.Net.Geometry.LineString(coordinates);
JavaScriptSerializer serializer = new JavaScriptSerializer();
var data = serializer.Serialize(lineString);
Mas eu não sei como passar este objeto GeoJSON LinseString do C # para o JavaScript. Eu não consegui passá-lo usando Json como tal:
return Json(data, JsonRequestBehavior.AllowGet);