2012-09-23 27 views
23

Inicialmente, mi mapa estaría apuntando a la ubicación actual del usuario. Le doy una opción en la que puede elegir una ciudad desde una casilla de autocompletar, una vez que selecciona la nueva ubicación desde autocompletar, obtendré una nueva (latitud y longitud) coordenadas para la cual me gustaría enfocar mi mapa.¿Cómo cambiar dinámicamente el centro de un google maps sin borrar los marcadores?

Según mi conocimiento de la API de Maps, puedo pensar que está cambiando el centro (sin embargo, el centro se establece solo mientras se carga el mapa). Quiero lograr este enfoque para la ubicación seleccionada por el usuario en google maps. Alguien me puede ayudar. Gracias por adelantado. Usando Google Maps js api v3.

Respuesta

59

Simplemente puede mover el mapa con map.setCenter(LatLng). Este método no usará ningún otro marcador y no borrará los marcadores existentes. También puede mover el mapa a través de la función panTo(LatLng). Ambos métodos también están disponibles después de que el mapa se haya inicializado.

Here is the documentation for these methods.

+3

'panTo()' 'es mejor que setCenter' que le da una animación. Es útil, porque los clientes no tendrán dolores de cabeza como cuando usan 'setCenter'. – Soaku

13

Jones es correcto, es necesario utilizar setCenter()

function initialize() 
{ 
    var mapDiv = document.getElementById('MapDiv'); 
    var map; 
    var address = "Vilnius, Lithuania"; 
    var geocoder = new google.maps.Geocoder(); 
    // Get LatLng information by name 
    geocoder.geocode({ 
     "address": address 
     }, function(results, status){ 
       map = new google.maps.Map(mapDiv, { 
       // Center map (but check status of geocoder) 
       center: results[0].geometry.location, 
       zoom: 8, 
       mapTypeId: google.maps.MapTypeId.ROADMAP, 
      }) 
     }); 
} 
+2

Gracias por el ejemplo amigo - setCenter funcionó; +1 para el ejemplo de código geológico :) –

+1

De nada :) Geocoder es solo una pista, en caso de que quiera usarlo –

Cuestiones relacionadas