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