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());
});
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
Actualicé la respuesta. Ahora puede obtener el mapa inmediatamente centrado en la posición de los marcadores en la capa kml. – Tomik
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