मैं वर्तमान में पत्रक के लिए दो प्लगइन्स का उपयोग कर रहा हूँ: मेरी अनुमति देने के लिए https://github.com/ghybs/Leaflet.TileLayer.Fallback यदि वर्तमान ज़ूम स्तर के लिए कोई टाइल उपलब्ध नहीं है, तो उच्च ज़ूम स्तरों पर वापस आने के लिए मैप करें। https://github.com/Zverik/leaflet-grayscale मेरे बैकग्राउंड मैप टाइल्स को ग्रे बनाने के लिए पैमाना। मैं एक ही समय में दोनों काम करने में सक्षम होना चाहता हूं।

मैंने ग्रे स्केल प्लगइन को फ़ॉलबैक ऑब्जेक्ट का विस्तार करने की कोशिश की, लेकिन यह काम नहीं किया।

मैं केवल टाइललेयर के बजाय टाइललेयर का विस्तार करने के बजाय पत्रक-ग्रेस्केल कैसे बना सकता हूं?

आदर्श रूप से मुझे एक नया फ़ॉलबैकग्रेस्केल ऑब्जेक्ट चाहिए या शायद L.tileLayer.fallback.greyscale जैसा कुछ। लेकिन किसी भी तरह से मेरे पास एक ही समय में फ़ॉलबैक और ग्रे स्केल दोनों हो सकते हैं, यह अच्छा होगा।

1
JPM 19 मई 2019, 17:50

1 उत्तर

सबसे बढ़िया उत्तर

लीफलेट-ग्रेस्केल छवि को ग्रेस्केल में बदलने के लिए एक अक्षम विधि का उपयोग करता है: एक कैनवास में ड्राइंग। यह पुराने ब्राउज़रों के साथ संगतता के लिए किया जाता है। इस तकनीक का उपयोग करने से यह IE में काम करता है, लेकिन संगतता को जटिल बनाता है।

अगर आप केवल उन ब्राउज़र को लक्षित कर रहे हैं जो फ़िल्टर CSS नियम लागू करते हैं a>, जो आप चाहते हैं उसे पूरा करने का सबसे आसान तरीका _tileOnError() USC.TileLayer.Fallback की विधि इसलिए यह एक ग्रेस्केल फ़िल्टर टाइल की शैली, यानी:

style.filter = 'grayscale(1)';
1
IvanSanchez 20 मई 2019, 08:31