2014-07-25 29 views
18

Google Haritalar API'sini kullanmak istediğim bir uygulama üzerinde çalışıyorum.Uygulamamda Google Haritalar API'sını ters proxy üzerinden bağlamak mümkün mü?

Sorun, Google Haritalar API sunucusuna bağlantının kararsız olmasıdır. Bazen sorun değil ama diğer zamanlarda engellendi çünkü ben Çin'de.

Buradaki çözüm, tüm Google Haritalar API isteklerini ters proxy üzerinden yapmaktır. Bir sunucuyu, Google harita sunucusuna sürekli bir bağlantının olduğu Amerika veya Hong Kong’da ters proxy olarak ayarlayabilirim.

Daha sonra, uygulamamdaki tüm Google Haritalar API'larının URL'lerini ters proxy'ye yönlendirmek için değiştirmem gerekiyor ve proxy, Google Haritalar sunucusunun tüm isteklerini proxy_pass edecektir.

bu konuda ben bir kaç soru vardır:

nasıl istemci tarafı kütüphaneler uygulamadan hakkında gitmek ? Onları değiştirmek zorunda mıyım? Öyleyse, Google Maps JavaScript API dosyasını indirebilir ve URL'lerin alan adlarını proxy sunucunun etki alanına değiştirebilir miyim?

Android ve iPhone uygulamalarından nasıl haberdar olurum? Android ve iPhone SDK'larının isteği http protokolüyle yapıp yapmayacağından emin değilim. Öyleyse, API'ların alan adlarını proxy sunucumun alan adıyla nasıl değiştirebilirim?

Uygulamamda yapılan tüm http isteklerini yakalamanın ve gönderilmeden önce bunları değiştirmenin bir yolu olabileceğini düşündüm ancak bir süredir arama yaptıktan sonra bunu yapmanın zor olduğunu keşfettim.

Android ve iPhone uygulamalarıyla bunu yapmak mümkün müdür? Veya bir web uygulamasıyla bunu başarmanın daha iyi bir yolu var mı?

Ayrıca, çözümün oldukça karmaşık olduğu ve Google Haritalar API'sini kullanmanın ülkemizdeki değişiklikler olduğu için bir zorunluluk olmadığı için bunu yapmak için çaba göstermeye değdiğini bilmek isterim. Düzenli API stili ve haritaların daha güzel görünümü nedeniyle Google Haritalar API'sını tercih ediyorum.

+0

Başka bir seçenek http://mapproxy.org adresini kullanmak olabilir. Ayrıca, biz http://gis.stackexchange.com – Gordon

+0

için bu uygulamayı taşımak gerekebilir Kişisel kullanım için bu uygulama mı yoksa pazarlamak mı istiyorsunuz? Bir çözümüm olabilir ama pazarlanamaz –

+0

Kişisel kullanım için değil, pazarlayacağım. – treblam

cevap

7

Çözümünüz, Google'ın şartlar ve koşullarının açık bir şekilde ihlal edildiğidir.

10.1.1 (a) erişebilir veya herhangi bir teknoloji aracılığıyla Maps API (ler) ya da herhangi bir İçeriği kullanma ya da diğer hizmet verilen daha gelir, ya da diğer aracılığıyla Google'ın belirleyebileceği, açık demektir yetkili olmamalıdır. Örneğin, Google Haritalar API'ları dışında harita karolarına veya görüntülere arayüzler veya kanallar (belgesiz Google arayüzleri dahil) yoluyla erişmemelisiniz. https://developers.google.com/maps/terms

Yasal konular bir yana, sanırım kendi sorunuzu yanıtladınız. "Google Haritalar API'sı bir zorunluluk değil, çünkü ülkemizde buna değişiklikler var".

Ancak Google Haritalar'ı kullanmanın cehennemdeyseniz, web içeriği için kitapçıklarını kitapçık gibi 3. taraf kitaplığı ile kullanabilirsiniz. Yerel mobil uygulamalar tamamen farklı bir sorun olsa da ... şüphe ettiğim bir tanesi ya: mümkün değil ya da b: mümkün değil.

+0

Bunun, API'nın verileri nasıl döndürdüğünü veya başka bir şekilde değiştirdiğinden daha fazla emin olduğuma eminim. Örneğin, trafik bilgilerini doğrudan Google Haritalar API'sından çekemezsiniz, ancak muhtemelen bu şartları ihlal eden bir haritadan çekmenin bir yolunu bulabilirdiniz. –

İlgili konular