MapBox जीएल जे एस - फ़िल्टर मार्करों का विश्लेषण

वोट
0

मैं MapBox जीएल जे एस के लिए नया हूँ, और यह प्यार कर रहा हूँ! चीजें मैं दौड़े हैं के एक जोड़े में जब एक GeoJSON स्रोत है कि मैं अगर किसी के साथ ... यहाँ मेरी फिल्टर तर्क का एक नमूना है मुझे बाहर मदद कर सकते हैं सोच रहा हूँ पर मार्कर को छानने:

    function applyFilters() {
        var filters = [all, [==, $type, Point]];

        if (document.getElementById('filter1checkbox').checked)
            filters.push(['==', 'property1', true]);
        if (document.getElementById('filter2checkbox').checked)
            filters.push(['==', 'property2', true]);

        map.setFilter('markers', filters);
        var llb = new mapboxgl.LngLatBounds(geojsonExtent(markers));
        map.fitBounds(llb);
        map.setCenter(llb.getCenter());
    }

और यहाँ मेरे सवालों का है:

  1. एक बार जब मेरी फ़िल्टर लागू करने पर, वहाँ एक रास्ता मार्करों कि फिल्टर (आपकी खोज से {X} आइटम) मेल खाने वाले की गिनती प्राप्त करने के लिए है?
  2. जब मैं geojsonExtent का उपयोग मार्कर संग्रह की सीमा से प्राप्त करने के लिए, यह ध्यान में फिल्टर लग प्रतीत नहीं होता। वहाँ एक रास्ता फिल्टर के पीछे डेटा पर प्राप्त करने के लिए geojsonExtent में पारित करने के लिए है?

जहां इन मदों के लिए जाने के लिए पर कोई सलाह?

11/05/2016 को 20:20
का स्रोत उपयोगकर्ता
अन्य भाषाओं में...                            


1 जवाब

वोट
0

एक बार जब मेरी फ़िल्टर लागू करने पर, वहाँ एक रास्ता मार्करों कि फिल्टर (आपकी खोज से {X} आइटम) मेल खाने वाले की गिनती प्राप्त करने के लिए है?

आप मार्कर फ़िल्टर्ड की संख्या प्राप्त कर सकते हैं व्यूपोर्ट में वर्तमान में दृश्यमान चलाकर

map.queryRenderedFeatures({layers: ['markers']).length

फ़िल्टर किया मार्कर पूरे नक्शे भर की कुल संख्या प्राप्त करने के लिए कोई तरीका नहीं है।

जब मैं geojsonExtent का उपयोग मार्कर संग्रह की सीमा से प्राप्त करने के लिए, यह ध्यान में फिल्टर लग प्रतीत नहीं होता। वहाँ एक रास्ता फिल्टर के पीछे डेटा पर प्राप्त करने के लिए geojsonExtent में पारित करने के लिए है?

आप उपयोग कर सकते हैं queryRenderedFeaturesयह भी के लिए! (नोट: इस कोड अपरीक्षित है)

geojsonExtent({
  type: 'FeatureCollection',
  features: map.queryRenderedFeatures({layers: ['markers']).length
});
11/05/2016 को 21:14
का स्रोत उपयोगकर्ता

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