gratis google georreferenciación ejemplos javascript google-maps google-maps-api-3

javascript - georreferenciación - Acercar al marcador google.maps



google maps javascript api (3)

¿Es esta una nueva instancia de un objeto de mapa que está creando? de ser así, puede tener un objeto que contenga la ubicación y el zoom, y luego pasar ese objeto al mapa cuando lo inicialice de esa manera (tomado del tutorial básico de Gmaps http://code.google.com/apis/maps/documentation/javascript/basics.html :

function initialize() { var myLatlng = new google.maps.LatLng(-34.397, 150.644); var myOptions = { zoom: 8, center: myLatlng, mapTypeId: google.maps.MapTypeId.ROADMAP } var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions); }

No puedo hacer zoom a un marcador correctamente.

Estoy tratando de cambiar la vista a un marcador específico, pero no puedo trabajar.

He intentado

map.setCenter(location); map.setZoom(20);

y

map.fitBounds(new google.maps.latLngBounds(location,location));

pero en el primer caso, simplemente me acerco sin que se registre el cambio de centro, y en el segundo caso obtengo esta descripción general sobre un área enorme, sin hacer zoom en absoluto.

Tal vez este problema podría resolverse estableciendo un timout desde setcenter a setzoom, pero eso es un hack feo para mí, por lo que se preferiría una solución más bonita.

¿Cómo hacen esto?

Además, si la ventana de información se pudiera mostrar sin cambiar el contenido, sería una ventaja, pero lo más importante es hacer un acercamiento al marcador en el lugar correcto, cerrar.

muchas gracias.


La solución resultó ser

map.setZoom(17); map.panTo(curmarker.position);


Pensé que publicaría una respuesta aquí ya que la gente quería un código de ejemplo.

Yo también necesitaba poder hacer un acercamiento y centrar tan pronto como se agregara un marcador al mapa.

Espero que esto ayude a alguien.

function getPoint(postcode) { var geocoder = new google.maps.Geocoder(); geocoder.geocode( { ''address'': postcode + '', UK''}, function(results, status) { if (status == google.maps.GeocoderStatus.OK) { var marker = new google.maps.Marker({ map: map, position: results[0].geometry.location }); map.setZoom(10); map.panTo(marker.position); } else { alert(''Geocode was not successful for the following reason: '' + status); } }); }