MapboxGL सेट डेटा से संपत्ति के आधार पर दृश्यता फ़ाइल से भरी हुई

वोट
0

मैं एक उदाहरण पर तैनात पालन करने के लिए कोशिश कर रहा हूँ https://www.mapbox.com/mapbox-gl-js/example/filter-markers/ , हालांकि मेरे मामले में, GeoJSON डेटा एक बाहरी फ़ाइल से भरी हुई है:

map.on('load', function() {
    map.addSource(cacheData, {
        type: geojson,
        data: ./data.geojson,

मैं उदाहरण का अनुसरण कर रहा हूँ, मैं के माध्यम से पुनरावृति और एक परत करने के लिए प्रत्येक मार्कर जोड़ने के लिए 'मार्कर' चर का उपयोग करने की नहीं है।

Mapbox.js के मूल संस्करण में, मैं सक्षम / एक व्यक्ति सुविधा को अक्षम करने में सक्षम हूँ .. मुझे लगता है कि mapboxGL में एक ही तरह से ऐसा करने में सक्षम होने के लिए नहीं है।

वहाँ एक घटना या कुछ और मैं के रूप में यह एक परत करने के लिए फ़ाइल से प्रत्येक मार्कर जोड़ने के लिए लोड किया जा रहा है संभवतः डेटा को संशोधित करने का उपयोग कर सकते है?

26/06/2016 को 13:36
का स्रोत उपयोगकर्ता
अन्य भाषाओं में...                            


1 जवाब

वोट
1

में MapBox से उदाहरण है कि आप पोस्ट, वहाँ var markers = {}घोषणा। उदाहरण के लिए,

var markers = {
  // properties snipped, see link for GeoJson data
}

लेकिन अपने में map.on()कॉल, यह संदर्भ देता है ./data.geojson। तो आप वास्तव में एक की जरूरत नहीं है markersके साथ काम करने के लिए वस्तु।

यह अलग करने के लिए आसान हो सकता है map.addsource()डिस्क से GeoJSON में खींच से।

यहाँ एक दृष्टिकोण आप उपयोग कर सकता है jQuery के लिए getJSONएक स्थानीय पथ या URL से डेटा पहले, तो आप में परिणाम का उपयोग कर सकते map.on

    <!-- 1. Add these JavaScript inclusions in the head of your page -->
    <script type="text/javascript" src="http://code.jquery.com/jquery-3.0.0.min.js">
      </script>

    <script type="text/javascript">
    $(document).ready(function() {

      var geoJsonFile = "./data.geojson";


      $.getJSON(geoJsonFile, function(markers){

        console.log(markers.type);

      }); // getJSON
    });  // $(document)
26/06/2016 को 23:40
का स्रोत उपयोगकर्ता

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more