2012-08-06 22 views
5

के साथ पत्रिका में GeoJSON डेटा खींचें तो मैं एक मैपबॉक्स मानचित्र को पत्रक के साथ प्रकाशित करने की कोशिश कर रहा हूं, और एक AJAX कॉल के साथ बाहरी डेटा स्रोत से कुछ मार्कर जोड़ना चाहता हूं। विशेष रूप से, मैं this data set के साथ एनवाईसी में सभी वाईफाई स्पॉट मैप कर रहा हूं। मैं देखता हूं कि यह कहां कहता है कि मैं जेएसओएन में वाईफाई स्थानों को डाउनलोड कर सकता हूं, लेकिन मैं अभी भी खुद को सिखाने की कोशिश कर रहा हूं कि कोड कैसे करें और पता न करें कि वहां से क्या करना है।AJAX कॉल

यहां उदाहरण दिया गया है कि MapBox आपकी साइट निर्देशिका पर होस्ट किए गए .js का उपयोग करता है। ऐसा लगता है कि मैं इसके बजाय एक AJAX कॉल करना था या नहीं?

<script src="museums.js"></script> 
<script type="text/javascript"> 
// Define a GeoJSON data layer with data 
var geojsonLayer = new L.GeoJSON(); 

// Display the name property on click 
geojsonLayer.on('featureparse', function (e) { 
    if (e.properties && e.properties.name){ 
    e.layer.bindPopup(e.properties.name); 
} 
}); 

geojsonLayer.addGeoJSON(data); 

// Add the GeoJSON layer 
map.addLayer(geojsonLayer); 
</script> 

उत्तर

7

वाईफ़ाई स्थान डेटा के लिए आपके लिंक के बाद सेट मुझे पता चलता है कि आप इस यूआरएल से json डेटा कॉल कर सकते हैं: wifi spot

समस्या यह है कि जिसके परिणामस्वरूप json GeoJSON स्वरूप (Wikipedia) में से स्वरूपित नहीं है। ..

मामले आप प्रभावी रूप से एक यूआरएल आप मान्य GeoJSON दे रही है है में, आप निम्नलिखित तरीके से अजाक्स कॉल करने के लिए jQuery इस्तेमाल कर सकते हैं:

$.ajax({ 
    type: "POST", 
    url: "https://nycopendata.socrata.com/api/views/ehc4-fktp/rows.json", 
    dataType: 'json', 
    success: function (response) { 

     geojsonLayer = L.geoJson(response, { 
      style: yourLeafletStyle 
     }).addTo(map); 
    } 
}); 

सम्मान

एटियेन

संबंधित मुद्दे