2013-10-15 10 views
11

के लिए Google मानचित्र डोमेन Whitelisting मुझे दो असली एंड्रॉइड फोन पर सही ढंग से प्रदर्शित करने के लिए नक्शे प्राप्त करने के साथ कुछ समस्याएं आ रही हैं - एक 2.2.2 चल रहा है और एक 4.2.2 चल रहा है। नक्शा की बात आने पर उत्तरार्द्ध ने मुझे हमेशा कुछ दुख दिया है। मैंने इसे अन्य थ्रेड here में रखा है क्योंकि मैंने इसे आंशिक रूप से हल किया है।फोनगैप बिल्ड: एपीआई v3

नोट: मैं ड्रीमवेवर सीएस 6 के साथ फोनगैप बिल्ड का उपयोग कर रहा हूं। कोई manifest xml फ़ाइल के साथ बस एक config.xml।

अब मेरे पास एक और मुद्दा है कि मुझे 4.2.2 पर सही ढंग से कार्य करने के लिए सभी डोमेन को श्वेतसूची में रखना होगा और मुझे नहीं पता कि क्यों। शुरू में मैं अपने config.xml में यह था:

<access origin="*.googleapis.com" /> 
<access origin="*.gstatic.com" /> 
<access origin="*.google.com" /> 
<access origin="maps.googleapis.com" /> 
<access origin="maps.gstatic.com" /> 
<access origin="mt0.googleapis.com" /> 
<access origin="mt1.googleapis.com" /> 
<access origin="csi.gstatic.com" /> 

हालांकि यह एंड्रॉयड 2.2.2 के लिए पूरी तरह से काम किया है मैं 4.2.2 पर निम्न समस्याओं मिलेगा: पिछले लापता नक्शा

  • नीचे टाइल्स की पंक्ति (अगर मैं गूगल मैप्स src के लिए HTTPS का उपयोग)
  • मार्करों सभी

पर प्रदर्शन नहीं करेगा बस सब कुछ श्वेत सूची बनाती करके, इन सभी मुद्दों को गायब हो गया। हालांकि मैं सब कुछ श्वेतसूची नहीं करना चाहता हूं, इसलिए क्या किसी को पता है कि मुझे यहां कुछ याद आ रहा है?

किसी भी मदद की बहुत सराहना की।

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

//////// UPDATE 1 ////////

क्रोम डेवलपर उपकरण पर नेटवर्क टैब के माध्यम से डालने का कार्य के बाद, मैं सभी URL गूगल मैप्स द्वारा पहुँचा रहे हैं निकाला ।

<access origin="https://mts.googleapis.com" subdomains="true"/> 
    <access origin="https://mts0.googleapis.com" subdomains="true"/> 
    <access origin="https://mts1.googleapis.com" subdomains="true"/> 
    <access origin="https://maps.googleapis.com" subdomains="true"/> 
    <access origin="https://fonts.googleapis.com" subdomains="true"/> 
    <access origin="https://maps.gstatic.com" subdomains="true"/> 
    <access origin="https://csi.gstatic.com" subdomains="true"/> 
    <access origin="https://themes.googleusercontent.com" subdomains="true"/> 

ये शायद इसलिए बदलने के लिए यह अच्छा होगा अगर मैं प्रत्येक डोमेन के सामने एक वाइल्डकार्ड * इस्तेमाल कर सकते हैं अधीन हैं, लेकिन यह करता है: स्पष्ट रूप से उनमें से हर एक बताते हुए करके, सब कुछ ठीक तो तरह काम करता है काम नहीं।

<access origin="*.googleapis.com" subdomains="true"/> 
    <access origin="*.gstatic.com" subdomains="true"/> 
    <access origin="*.googleusercontent.com" subdomains="true"/> 


    <access origin="https://*.googleapis.com" subdomains="true"/> 
    <access origin="https://*.gstatic.com" subdomains="true"/> 
    <access origin="https://*.googleusercontent.com" subdomains="true"/> 

किसी को भी करने के लिए कारण है कि मैं इन मामलों में वाइल्डकार्ड का उपयोग करने में असमर्थ हूँ के रूप में किसी भी विचार है: मैं कोई सफलता साथ निम्नलिखित दोनों की कोशिश की? चीयर्स।

//////// अद्यतन 2/उत्तर ////////

ज्यादा प्रयोग करने के बाद मैं इस सवाल का जवाब मिल गया है। ऐसा लगता है कि आपको config.xml में टैग लिखने में बहुत विशिष्ट होना चाहिए, खासकर जब सबडोमेन को अनुमति देने की बात आती है - स्पष्ट रूप से सबडोमेन निर्दिष्ट करना वाइल्डकार्ड के साथ काम नहीं करता है, इसलिए आपको टैग के दो ब्लॉक की आवश्यकता होती है।

<access origin="*.google.com" /> 
    <access origin="*.googleapis.com" /> 
    <access origin="*.gstatic.com" /> 
    <access origin="*.googleusercontent.com" /> 
    <access origin="google.com" subdomains="true"/> 
    <access origin="googleapis.com" subdomains="true"/> 
    <access origin="gstatic.com" subdomains="true"/> 
    <access origin="googleusercontent.com" subdomains="true"/> 

उम्मीद है कि इस किसी को फायदा नहीं होगा: मैं अंत में दोनों उपकरणों सही ढंग से काम का उपयोग कर https का उपयोग कर निम्नलिखित है।मुझे अभी भी समझ में नहीं आता कि यह एंड्रॉइड के पुराने संस्करण पर ठीक क्यों काम करता है। शायद अगर कोई ऐसा महसूस करता है तो कोई मुझे प्रबुद्ध करने में मदद कर सकता है?

उत्तर

1

व्हाईटलिस्टिंग डोमेन के लिए वाक्यविन्यास फोनगैप के संस्करणों के साथ बदल गया है। यदि आप संस्करण 3.1 या अधिक पर हैं, तो इस दस्तावेज़ को वाक्यविन्यास के लिए देखें: http://docs.phonegap.com/en/3.1.0/guide_appdev_whitelist_index.md.html। मैं सोच रहा हूं कि आपका वाइल्डकार्ड आपके लिए काम नहीं कर रहा था।

मैं निम्नलिखित का उपयोग कर रहा है और यह मेरी PhoneGap App में मेरी गूगल मैप्स दिखाने के लिए काम करता है:

<access origin="*://*.googleapis.com/*" subdomains="true" /> 
<access origin="*://*.gstatic.com/*" subdomains="true" /> 
<access origin="*://*.google.com/*" subdomains="true" /> 
<access origin="*://*.googleusercontent.com/*" subdomains="true" /> 
संबंधित मुद्दे