Вызов Ajax для получения данных GeoJson из контроллера ASP.NET MVC

Использование ASP.NET MVC 3 с C #У меня есть веб-страница для отображения карты, на которую я хочу добавить полилинию, состоящую из нескольких координат широты и долготы. С помощью библиотеки JavaScript Leaflet вы можете добавлять слои 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, подобный показанному выше, и добавить данные о местоположении в раздел «координаты » из 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);
9
задан 24 revs, 3 users 100% 12 September 2012 в 19:47
поделиться