2011-11-18 25 views

cevap

38

, harita merkezli ve kml tabakasının içeriğinin sınırlayıcı kutusuna yakınlaştırıldığında: Sorum şu bağlantıda bir haritanın yakınlaştırma kontrolü nasıl aslında.

google.maps.KmlLayerOptions nesnesinin preserveViewport özelliğiyle varsayılan davranışı değiştirebilirsiniz. true'a ayarlarsanız, harita ortalanmamış ve yakınlaştırılmaz. Örnekte

kullanın:

var nyLayer = new google.maps.KmlLayer(
        'http://www.searcharoo.net/SearchKml/newyork.kml', 
        { 
         suppressInfoWindows: true, 
         map: map, 
         preserveViewport: true 
        }); 

sen kullanımı daha sonra kml tabakasının içeriğine ortalamak ve yakınlaştırmak için isterseniz:

var bounds = nyLayer.getDefaultViewport(); 
map.fitBounds(bounds); 

DÜZENLEME:

Kml katmanı yüklendiğinde haritanın her zaman ortalanmış (ancak yakınlaştırılmamış) olmasını istiyorsanız, google.maps.KmlLayer o defaultviewport_changed olayından yararlanın. Nesne. Harita merkezini kml katsayısı varsayılan görünüm alanının merkezine ayarlamanız gerekir. Olay, kml katmanının içeriği yüklendiğinde ve varsayılan görünüm alanı hesaplandığında tetiklenir.

google.maps.event.addListener(nyLayer, 'defaultviewport_changed', function() { 
    var bounds = nyLayer.getDefaultViewport(); 
    map.setCenter(bounds.getCenter()); 
}); 
+0

Teşekkürler ama daha yüksek bir yakınlaştırma düzeyini ayarlamak zaman belirteçleri görünür hale yok, 18 demek, ya da hiç görünmüyor veya ben nasıl hep emin olabilirim, onları görünür hale getirmek için onları ortalamak gerekir merkezde haritadaki belirteçler görünecek – Mike

+0

cevabını güncelledim. Şimdi haritayı hemen kml katmanındaki işaretleyicilerin konumuna ortalayabilirsiniz. – Tomik

+0

Aslında haritaya göre belirli işaretleyiciler var, Sayfa yüklemesi, tüm işaretleyicileri görebilmem ve belirli bir pazarın yakınında bir yere tıklarsam, yakınlaştırma yapmasını istiyorum. Ayrıca kodu güncelledim, ama yanlış js dosyası alıyor gibi görünüyor: http://jsfiddle.net/WPXWX/1/ – Mike

İlgili konular