, 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());
});
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
cevabını güncelledim. Şimdi haritayı hemen kml katmanındaki işaretleyicilerin konumuna ortalayabilirsiniz. – Tomik
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