2015-06-04 21 views
12

İyonik kullanarak hibrit bir mobil uygulama geliştirmeyi planlıyorum. İhtiyacım olan özelliklerden biri çevrimdışı google haritası. Bunu yapmanın bir yolu var mı?İyonik üzerinde hibrid mobil uygulamasında çevrimdışı google haritasını kaydetmenin bir yolu var mı?

+0

Bu konuda bir şey aldınız mı? – Bir

+0

@bir şey şu ana kadar hiçbir şey alamıyorum – doyevaristo

+0

@ user3624533 Son güncellemeden bu yana gelişme kaydettiniz mi? – hajn

cevap

6

Bunun mümkün olup olmayacağı uygulamanızın gereksinimlerine bağlıdır. Kullanıcılarınız "modern" cihazlarda A.K.A HTML5 tamamen destekleniyor mu? Kullanıcılarınızın haritayı global olarak mı yoksa belirli bir alanda mı görüntülemesi/düzenlemesi gerekiyor? Haritanın gerçekten google tarafından sağlanması gerekiyor mu? Bu sorunla ilgili olarak sizi yönlendirmek için aşağıdaki bazı sorunları ele alacağım.

Gerçekten Google haritalarına ihtiyacınız var mı? (En uygun senaryo)
Öncelikle, gerçekten Google haritalarına ihtiyacınız var mı? Ayrıca, alakalı: kullanıcılarınızın haritalarını ne kadar yakınlaştırması gerekiyor? Herhangi bir harita olabiliyorsa ve yakınlaştırma gerçekte yüksek öncelikli değilse (eğer varsa, tüm harita karoları uygulama tüm depolama alanı içerecektir), muhtemelen harita karolarını uygulamanızın paketlenmiş bir parçası olarak kullanabilirsiniz. ve bunları http://leafletjs.com/ gibi bir kütüphaneyle görüntüleyin. Kütüphane iyi belgelenmiştir ve çeşitli harita sağlayıcıları için bir harita arayüzü sağlar. Kendi yerel harita karolarınızı kullanmak için bunu yapılandıracaktır. Gerekirse, çoklu zum seviyeleri için harita karoları ekleyebilir ve minimum/maksimum yakınlaştırma seviyelerini gerçekte mevcut olan karolarla sınırlayabilirsiniz. Bu, haritalarınızın çevrimdışı çalışmasını sağlayacaktır.

I veyagerçekten seçeneği içine baktı emin olun kendi fayans sağlamak için wan't uğraşma, harita fayans sağlamak orada sistemleri için https://www.mapbox.com/ kontrol (kullanabilirsiniz yoktur örnek)
Tamam, bu yüzden önerdiğim şeyi yapmak istemiyorsunuz. Şimdi seçenekler neler? Javascript haritalama çözümleri, genellikle görmek istediğiniz haritanın konumuna ve yakınlaştırma seviyesine göre karolar oluşturur. Bu karolar karo sağlayıcıya talep edilir. I bunu google için tam olarak nasıl uygulayacağınızı bilmiyorsunuz, bunun hakkında biraz araştırma yapmanız gerekebilir - bir yön görebilmeniz için size yardımcı olmaya çalışacağım. Fayansları sunuculardan almak için istek olacak. http://maps.google.com ile harita üzerinde gezinmeye çalışırken hangi resimlerin yüklendiğini kontrol ettim: (example (click)). Durumunuzda hangi url'lerin kullanıldığını öğrenin, daha sonra bu tür url'lere ihtiyacımız olacak (sadece tarayıcı konsolunuzdaki ağ sekmesini inceleyin ve haritanızda gezinirken hangi isteklerin yapıldığını görün). Kullanıcılarımıza yalnızca çevrimdışıyken numaralı telefondan belirli bir alanda çalışabilmemiz gerektiğinde, hizmet çalışanlarını çevrimiçi olduğumuz sırada bu isteklerin yanıtlarını önbelleğe almak için kullanabilir ve çevrimdışıyken bu önbelleklere hizmet verebiliriz. Servis çalışanları here (click) hakkında daha fazla bilgi edinin.
Avantaj: Önceden ziyaret ettiğiniz tüm döşemeler için gerçek çevrimdışı harita işlevselliği (hizmet çalışanlarının uygulamanıza ve hizmet çalışanlarının desteklediği tarayıcılar/aygıtlara bağlı olarak önbelleğinizin taşmadığı sürece).
Dezavantajları: Önbellekte hiçbir zaman koyulmayan döşemeler için destek yok (AKA: daha önce hiç görülmemiş). Bir diğeri: Bu sadece servis çalışanlarını destekleyen cihazlar için çalışacaktır. Kullanıcıların "eski" cihazları kullanmasıyla ilgilenmediği veya kullanıcının cihaz seçeneklerini kontrol edebileceğiniz durumlarda bir seçenek olabilir. Yaya geçidi kullanmak, geliştirme çabalarınızı burada kolaylaştırabileceğine dikkat edin, çünkü o zamanlar sadece bir tarayıcı-çalışma zamanı düşünmelisiniz: ancak yaya geçidi eski cihazları da desteklemez.
Ancak, bu çözüm, @ vipul-r tarafından sağlanan durum için geçerli olabilecek belirli bir alanda çalışması gereken insanlar için iyi olabilir. Siz veya kullanıcılarınız haritalarına ihtiyaç duydukları yerleri önceden biliyorsanız İşi, haritalarını doğru bir şekilde önbelleğe almak için & yüklerken onlara yardımcı olabilir/yardım edebilirsiniz.

Bu 2 çözümden herhangi birinde çalışamazsanız, bunu yapmanın bir yolu olacağından şüpheliyim. Bilgimin en iyisine başka bir yol göremiyorum.

İlgili konular