2015-05-09 35 views
5

Uydu görüntüsü temel haritası üzerinde görüntülemek istediğim çok yüksek çözünürlüklü havadan görüntülere sahibim. Görüntülerim, 23 nolu zum seviyesine kadar görüntüler oluşturmak için yeterince iyi. Ancak, Google'ın uydu görüntüsü yalnızca 20 seviyesine yakınlaştırmaya izin veriyor. Kullanıcı, seviye 20'ye yakınlaştırdığında harita türünü özel yer paylaşımımla manuel olarak değiştirebileceğimi biliyorum bu yüzden sadece harita türüm gösterilir, ancak tam bir yakınlaştırma düzeyi için Google görüntülerini kaybederim.Google Maps'de Daha Fazla İzlemeye İzin Ver v3 Uydu Görüntüsü

Sorum şu: Bir kullanıcı, uzaklaştırma düzeyi 20'ye ulaştığında bir etkinliğin kaydedilmesi için bir yol var mı? Yoksa, 20. görüntüdeki Google görüntülerini kaybetmeden daha fazla yakınlaştırma özelliğini nasıl etkinleştirebileceğimiz hakkında başka fikirler var mı?

Gelebileceğim tek diğer çözüm, standart Google döşeme URL'sine yönelik istekleri ileten ancak farklı bir minimum/maksimum yakınlaştırma sunan ikinci bir özel döşeme sunucusu oluşturmaktır. Bu fikir gitmenin yolu ise, bunun hakkında da onay almak istiyorum. Teşekkürler.

+0

Sen 'maxZoom' ve' minZoom' özelliklerini içinde tanımlayarak zoom kısıtlayabilirsiniz 'mapOptions'. – KayAnn

+0

Evet, sadece harita türümü gösteriyorum. Bununla birlikte, bir yer paylaşımlı harita türüm var, bu yüzden yerleşik Uydu veya Arazi harita türlerinde minimum ve maksimum yakınlaştırma seviyesi belirtildi. Bu harita türleri için maksimum yakınlaştırma seviyesini nasıl artıracağınızı (azaltmayacağınızı) biliyor musunuz? –

+0

Böyle bir şey mi var? http://stackoverflow.com/questions/10517848/modify-the-max-zoom-level-of-a-google-map-type. – KayAnn

cevap

8

Ben basit çözüm şu inanılmaz hacky kodu kullanarak, yakınlaştırma aralığı değiştirilir işlevi aşırı olduğuna karar:

var zoomRangeModifier = googleMap.__proto__.__proto__.__proto__; 
var originalSetFunc = zoomRangeModifier.set; 
var hijackedSetFunc = function(a, b) { 
    if (a === 'zoomRange') { 
     b.max = 23; 
    } 
    originalSetFunc.call(this, a, b); 
}; 
zoomRangeModifier.set = hijackedSetFunc; 
İlgili konular