2011-11-18 10 views

Respuesta

38

De manera predeterminada, el mapa está centrado y zoom sobre el cuadro delimitador del contenido de la capa KML.

Puede cambiar el comportamiento predeterminado con la propiedad preserveViewport del objeto google.maps.KmlLayerOptions. Si lo configura en true, el mapa no se centra y se amplía.

En el ejemplo, utilice:

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

Si desea centrar y enfocar al contenido de la capa KML más tarde, su uso:

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

EDIT:

Si desea que el mapa esté siempre centrado (pero no ampliado) cuando se carga la capa kml, utilice el evento defaultviewport_changed del google.maps.KmlLayer o bject. Debe establecer el centro del mapa en el centro de la ventana predeterminada de la capa kml. El evento se desencadena cuando se carga el contenido de la capa kml y se calcula su ventana gráfica predeterminada.

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

Gracias, pero cuando me puse un nivel de zoom superior digo 18, los marcadores dont se hacen visibles, ya sea que no aparecen en absoluto o que necesito para centrarlos para hacerlos visibles, ¿cómo hay que procurar siempre los marcadores están apareciendo en el mapa cerca del centro – Mike

+0

Actualicé la respuesta. Ahora puede obtener el mapa inmediatamente centrado en la posición de los marcadores en la capa kml. – Tomik

+0

En realidad, tengo ciertos marcadores en el mapa según la ubicación. En la carga de la página, debería poder ver todos los marcadores y si hago clic en algún lugar cerca de un mercado en particular, quiero que se amplíe. También actualicé el código, pero parece que está tomando el archivo JS incorrecto: http://jsfiddle.net/WPXWX/1/ – Mike

Cuestiones relacionadas