2013-10-15 26 views
11

İki gerçek Android telefonunda doğru şekilde görüntülenmesi için haritalar almam konusunda bazı sorunlar yaşıyorum - bir tanesi 2.2.2 ve bir tanesi 4.2.2. İkincisi, haritalar söz konusu olduğunda bana her zaman bir keder verdi. Bunu kısmen çözdüğüm için başka bir thread here'a koymuştum.Phonegap Build: API v3 için Google Harita Alanlarını Beyazlaştırıyor

Not: Dreamweaver CS6 ile Phonegap Build kullanıyorum. Sadece bir manifest xml dosyası olan bir config.xml.

Artık başka bir sorun var çünkü haritanın 4.2.2'de düzgün çalışması için tüm alanları beyaz listeye eklemem gerekiyor ve nedenini bilmiyorum. Başlangıçta benim config.xml bu vardı:

<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" /> 

bu Android 2.2.2 için mükemmel çalıştı iken ben aşağıdaki sorunlar 4.2.2 üzerinde alacağı: Geçen eksik haritanın

  • Alt sadece her şeyi beyaz liste olarak tüm

kısmında görüntülenecek olmaz

  • İşaretleyiciler (google harita src için HTTPS kullanıyorsanız) karoların satır, bu sorunların hepsi ortadan kayboldu. Ancak ben her şeyi beyaz listeye almak istemiyorum, bu yüzden burada bir şey özlediğimi bilen var mı?

    Herhangi bir yardım çok takdir.

    DÜZENLEME: Bunu, * .googleapis.com kullanarak, benzer olan kalan beyaz liste alanlarını da kapsayacak şekilde anlıyorum. Ancak, aramalarımda birkaç kez iOS'un alan adlarının açıkça listelenmesini gerektirdiğini fark ettim. Bu şu anda burada geçerli olmayabilir, ancak iOS'ta kullanılmak üzere bu uygulamayı amaçlıyorum (böylece birisi tamamen işe yaramaz ve gerekli olmadığını söyleyemez ;-)).

    krom geliştirici araçları ağ sekmesi aracılığıyla dökülen sonra ben google maps ile erişilen tüm URL'leri çıkarılan 1 ////////

    //////// GÜNCELLEME .

    <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"/> 
    

    Bunlar muhtemelen sadece alanların her önüne bir joker * kullanabilirsiniz eğer iyi olurdu böylece değiştirilebilir ama bu yapar: açıkça bunların her birini belirterek, herşey yolunda öylesine gibi çalışır çalışmıyor

    <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"/> 
    

    Herkes ben bu durumlarda joker kullanmak alamıyorum neden olarak herhangi bir fikirleri var: Ben ile aşağıdaki hiçbir başarı her iki denediniz mi? Şerefe.

    //////// GÜNCELLEME pekçok deneyden sonra cevabını bulduk

    //////// 2/CEVAP. Özellikle alt alan adlarına izin vermek söz konusu olduğunda, özellikle config.xml dosyasında etiketleri nasıl yazdığınıza çok özel olmanız gerektiği gibi görünüyor. Görünüşe göre alt alan adlarının belirlenmesi joker karakterlerle çalışmadığından iki etiket bloğuna ihtiyacınız var.

    <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"/> 
    

    Umarım bu kişiye yararlı olacaktır: Sonunda her iki cihaz aşağıdaki düzgün çalışmasını kullanarak https kullanmayı var.Hala Android'in eski sürümünde neden iyi çalıştığını anlamıyorum. Belki de birileri hissettikleri zaman beni aydınlatmaya yardımcı olabilir?

  • cevap

    1

    Beyaz listeye ekleyen alanların sözdizimi, PhoneGap sürümleriyle değişti. Sürüm 3.1 veya üzerindeyseniz, sözdizimi için şu belgelere bakın: http://docs.phonegap.com/en/3.1.0/guide_appdev_whitelist_index.md.html. Jokerlerin neden senin için çalışmıyor olabileceğini düşünüyorum.

    Aşağıdaki kullanıyorum ve benim PhoneGap Uygulaması'nda benim Google Maps göstermeye çalışır:

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