क्या कुछ क्षेत्रों को छोड़कर Google मानचित्र मानचित्र को ग्रे करना संभव है?


15

मैं जिस चीज़ की तलाश कर रहा हूं, वह Google मैप्स के नक्शे पर एक निश्चित क्षेत्र पर जोर देने का एक तरीका है, जो दुनिया के बाकी हिस्सों को भूरा कर देती है।

मैंने 2 बहुभुजों के उपयोग के कुछ समाधान के बारे में सुना, जिनमें से 1 दृश्यमान है और दूसरा नहीं और यह केवल तभी काम करता है जब मानचित्र स्थिर हो (कोई मानचित्र संचलन नहीं)। हालाँकि मैं चाहता हूं कि उपयोगकर्ता मानचित्र को ज़ूम और ड्रैग करने में सक्षम हो।

मुझे अन्य तरीकों से भी दिलचस्पी है, मैंने किसी क्षेत्र पर जोर देने के बारे में नहीं सोचा है।

अपडेट करें:

जब मैं रैडेक द्वारा पोस्ट किए गए समाधान की कोशिश करता हूं (अर्थात एक बाहरी बीएमबाउंडरीआई (देखने की तुलना में बड़ा) और एक इनरबाउंडरीआई (जोर देने के लिए क्षेत्र) के साथ एक बहुभुज के साथ एक केएमएल बनाते हुए मुझे समस्या मिलती है कि जब मैं ज़ूम करता हूं, तो आयताकार क्षेत्र कवर नहीं होते हैं आसपास के बहुभुज अब। देख:

यहाँ छवि विवरण दर्ज करें

अनुभव / समाधान के साथ किसी को भी?

Update2:

अंत में मेरे पास Google फ्यूजन टेबल्स का उपयोग करके रेक के समाधान का परीक्षण करने का समय था। पहले तो मुझे केएमएल के साथ लापता टाइलों के साथ समान मुद्दे थे (ऊपर चित्र देखें), लेकिन एक और लोड के बाद ऐसा लगता है जैसे यह उठा था और यह टाइलों को पूरी तरह से सही दिखा रहा था। मुझे लगता है कि उनके समाधान में जेकरी हैक उन टाइलों के लिए था जो लोड नहीं कर रहे थे:

setTimeout(function(){ 
        $("img[src*='googleapis']").each(function() { 
            $(this).attr("src",$(this).attr("src")+"&"+(new Date()).getTime()); 
        }); 
    }, 5000);

जैसा कि एक ताज़ा करने के बाद मुझे लगता है कि मैंने खुद हैक का इस्तेमाल नहीं किया है। यदि बग हर नए उपयोगकर्ता के लिए होता है तो मैं इसके साथ अनुभव करूंगा।

जवाबों:


18

Google मानचित्र उन्माद ब्लॉग स्विस प्रशासनिक सीमाओं के उदाहरण के लिए इंगित करता है मानचित्र :

यहाँ छवि विवरण दर्ज करें

से कोड Vasile पर है GitHub


1
यह वास्तव में मैं देख रहा हूँ कार्यक्षमता प्रदर्शित करता है! मुझे यह देखने के लिए स्रोत में गोता लगाना होगा कि क्या यह मेरे मामले में आसानी से लागू हो सकता है। वे हैक के बारे में बात कर रहे हैं (मैं तुरंत IE7 भय प्राप्त करता हूं)।
दोपहर

क्या Google Fusion Tables का उपयोग इस उदाहरण में होना चाहिए? मैं फिलहाल इसका इस्तेमाल नहीं कर रहा हूं। मैं जीथब कोड डाउनलोड करूंगा और जांच करूंगा कि क्या आवश्यकताएं हैं।
MRG

2
यह केएमएल में एक बहुभुज बनाने के लिए नीचे आता है, जिसमें एक बाहरी क्षेत्र है, दुनिया और एक आंतरिक क्षेत्र, आपकी रुचि का क्षेत्र होने के नाते। पारदर्शिता में कठिनाई के अलावा जब मैं ज़ूम इन करता हूं तो मुझे अपनी अर्ध-पारदर्शी परत में छेद मिलते रहते हैं। किसी को भी इसके साथ कोई अनुभव नहीं है?
mrg

1
केएमएल लोडिंग में धीमी है, इसलिए इसे हर समय बदलना बहुत आलसी प्रभाव दे सकता है। इसके अलावा, मुझे यह सुनिश्चित करने के लिए लगातार नाम नहीं बदलना होगा कि पुराने kml को कैश नहीं किया गया है? मुझे लगता है कि मुझे Google फ्यूजन टेबल्स ज्ञान की आवश्यकता है।
१g

1
क्या कोई सरल कार्यान्वयन है, जो फ्यूजनटेबल्स के बजाय KML फ़ाइल का उपयोग कर सकता है? मुझे केवल 1 निरंतर क्षेत्र (शहर की सीमाओं) को रंग-हाइलाइट करने की आवश्यकता है, और बाकी सब कुछ ग्रे। मैंने वासिल के कोड को देखा है, लेकिन यह वास्तव में जटिल है, और ब्राउज़र हैक पर निर्भर करता है। इसके अलावा, यदि यह समाधान मानचित्र विंडो को ग्रे-आउट प्रभाव के आधार बनाने के एल्ब्रोसिस के सुझाव का उपयोग कर सकता है, तो मुझे लगता है कि यह बहुत अधिक स्थिर / तेज होगा। {शहर के चारों ओर एक सीमा बनाएं और इसे रंग दें // // किया गया {सब कुछ सीमा के अंदर के क्षेत्र का विस्तार करें} ?????????????
user1845528

3

अगर @radek द्वारा पोस्ट किया गया टूल आपकी मदद नहीं करता है, तो एक और एक है जो सादे google.maps.Polygon सुविधाओं का उपयोग कर रहा है: http://maps.vasile.ch/geomask/

मूल रूप से यह घुमावदार संख्या एल्गोरिथ्म का पालन कर रहा है: मुखौटा (ब्रह्मांड) बहुभुज को डिजीटल घड़ी-वार और सभी आंतरिक बहुभुज डिजीटलाइज़्ड काउंटर-क्लॉक-वार http://en.wikipedia.org/wiki/Winding_number

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.