अधिक

अमान्य जियोसन ऑब्जेक्ट

अमान्य जियोसन ऑब्जेक्ट


मैं कुछ GeoJSON को प्राप्त करने के लिए USC के साथ काम कर रहा हूँ। सब कुछ ठीक काम करता है जब मैं सीधे एक var को परिभाषित करता हूं जैसा कि मैं प्रदर्शित करने की कोशिश कर रहा हूं:

वर सेंससट्रैक्ट्स = { "टाइप": "फीचर कोलेक्शन",…

यह बहुत अच्छा काम करता है लेकिन मेरी स्क्रिप्ट को निर्देशांक और क्या नहीं भरता है। समस्या तब आती है जब मैं फ़ाइल पर ही L.geoJson() फ़ंक्शन का उपयोग करने का प्रयास करता हूं। यह एक त्रुटि फेंकता है:

वर सेंससट्रैक्ट्स = L.geoJson("tractsedited.geojson").addTo(map);

आपको AJAX कॉल के माध्यम से फ़ाइल लोड करने की आवश्यकता है, फ़ाइल को सीधे लोड करना काम नहीं करता है। आप या तो AJAX प्लगइन का उपयोग कर सकते हैं या उस फ़ाइल में एक वैश्विक चर बना सकते हैं जिसे आप लोड करने का प्रयास कर रहे हैं और उस चर का सीधे उपयोग कर सकते हैं।


माइकल ज़िमर्मन के उत्तर के अतिरिक्त के रूप में:

यदि आप एक प्लगइन का उपयोग नहीं करना चाहते हैं और वेबपेज लोड होने के बाद जियोसन फाइलों को लोड करने में सक्षम होना चाहते हैं तो आप एक साधारण अजाक्स अनुरोध का भी उपयोग कर सकते हैं:

$.ajax({ type: "POST", url: 'your_geojson_url', dataType: 'json', Success: function (response) { geojsonLayer = L.geoJson(response).addTo(map); map.fitBounds(geojsonLayer. गेटबाउंड्स ()); } });

कार्रवाई में उदाहरण: http://jsfiddle.net/expedio/qgkbrjwt/