Ajax-вызов для получения данных GeoJson из ASP.NET MVC Controller
Использование ASP.NET MVC 3 с C # У меня есть веб-страница для отображения карты, на которую я хочу добавить ломаную линию, состоящую из нескольких координат широты и долготы. СLeaflet Библиотека JavaScript, которую вы можете добавитьGeoJson слои. Я хочу получить координаты долготы и широты из базы данных в C # и передать список координат в JavaScript для созданияGeoJson или какGeoJson.
Вот пример GeoJson, который я хочу создать:
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
}
};
Как я могу создать GeoJson, аналогичный показанному выше, и добавить данные о местоположении в & # x201C;coordinates& # X201D; раздел из C # или JavaScript, а затем использовать его в JavaScript, чтобы добавить слой как таковой:
var myLayer = L.geoJson().addTo(map);
myLayer.addData(polyline);
Я начал использовать GeoJSON.net и пришел с этим кодом:
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);
Но я не знаю, как передать этот объект GeoJSON LinseString из C # в JavaScript. я не смог передать его, используя Json как таковой:
return Json(data, JsonRequestBehavior.AllowGet);