Wywołanie Ajax do pobrania danych GeoJson z kontrolera ASP.NET MVC

Korzystanie z ASP.NET MVC 3 z C # Mam stronę internetową, aby wyświetlić mapę, na której chcę dodać polilinię składającą się z kilku współrzędnych szerokości i długości geograficznej. ZUlotka Biblioteka JavaScript, którą możesz dodaćGeoJson warstwy. Chcę uzyskać współrzędne długości i szerokości geograficznej z bazy danych w C # i przekazać listę współrzędnych do JavaScript, aby utworzyćGeoJson lub jakGeoJson.

Oto przykład GeoJsona, który chcę stworzyć:

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
      }
};

Jak mogę utworzyć GeoJson podobny do pokazanego powyżej i dodać dane lokalizacji do „współrzędne”Sekcja z C # lub JavaScript, a następnie użyj go w JavaScript, aby dodać warstwę jako taką:

var myLayer = L.geoJson().addTo(map);
myLayer.addData(polyline);

Zacząłem korzystać z GeoJSON.net i wymyśliłem ten kod:

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);

Ale nie wiem, jak przekazać ten obiekt GeoJSON LinseString z C # do JavaScript. nie mogłem go przekazać za pomocą Json jako takiego:

return Json(data, JsonRequestBehavior.AllowGet);

questionAnswers(2)

yourAnswerToTheQuestion