सी # के साथ एएसपी.नेट एमवीसी 3 का उपयोग करना मेरे पास एक नक्शा प्रदर्शित करने के लिए एक वेब पेज है जिस पर मैं कई अक्षांश और देशांतर निर्देशांक वाली पॉलीलाइन जोड़ना चाहता हूं। के साथ जावास्क्रिप्ट लाइब्रेरी आप GeoJson परतों को जोड़ सकते हैं। मैं सी # में डेटाबेस से रेखांश और अक्षांश निर्देशांक प्राप्त करना चाहता हूं और बनाने के लिए जावास्क्रिप्ट में निर्देशांक की सूची पास करना चाहता हूं 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 ऊपर दिखाए गए के समान बना सकते हैं कैसे और "निर्देशांक" से सी # या जावास्क्रिप्ट अनुभाग के लिए स्थान डेटा को जोड़ने:
यहाँ GeoJSON का एक उदाहरण मैं बनाना चाहते है और उसके बाद इस तरह के रूप में एक परत जोड़ने के लिए जावास्क्रिप्ट में उपयोग:
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 ऑब्जेक्ट को सी # से जावास्क्रिप्ट में कैसे पास किया जाए। मैं इस तरह के रूप Json का उपयोग कर इसे पारित करने में असमर्थ था:
return Json(data, JsonRequestBehavior.AllowGet);
आपको JavaScriptSerializer के बजाय JSON.NET serializer का उपयोग करने का प्रयास करना चाहिए। इसके अलावा यदि आप उपरोक्त की तरह अपने नियंत्रक के अंदर क्रमबद्ध कर रहे हैं, तो आपको एक ContentResult वापस करना चाहिए, क्योंकि JsonResult भी serialization निष्पादित करता है। नीचे दिए गए मेरे उत्तर में कुछ कोड जोड़ा गया है। –