Использование 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);