Pregunta

Desarrollo una aplicación simple de Google Maps. Solo necesito colocar un marcador en el mapa. Por cualquier razón, el marcador se coloca fuera del área visible del mapa. Es un poco extraño, porque el mapa está centrado en las coordenadas del marcador. Aquí está el código:

var point1 = new GLatLng(location1.lat,location1.lon);              
    map1.setCenter(point1, 15);
var marker1 = new GMarker(point1);
map1.addOverlay(marker1);
map1.setCenter(point1);

Cuando arrastramos el mapa un poco, podemos ver el marcador. Lo que necesito es centrar el mapa de manera que el marcador sea visible sin arrastrarlo.

¿Alguien puede ayudarme?

¿Fue útil?

Solución

Creo que el objeto GLatLng también aceptaría argumentos de cadena, pero para estar seguro me aseguraría de que sean enteros, intente usar:

new GLatLng(parseInt(location.lat), parseInt(location.lon));

También noté que llamaste a map.setCenter por segunda vez, lo que no debería ser necesario.

Usar el siguiente código realmente debería hacerlo

  map=new GMap(document.getElementById("map"));
  var point = new GLatLng(parseInt(location.lat), parseInt(location.lon));
  map.setCenter(point,5);
  var marker = new GMarker(point);
  map.addOverlay(marker);

Si todavía tienes problemas, verifico que " ubicación " objeto para asegurarse de que los valores .lat y .lon se están rellenando correctamente.

Otros consejos

Mira este código:

var map = new GMap(document.getElementById("map"));
/* -- snip -- */
map.centerAndZoom(new GPoint(-1.2736, 53.0705), 8);

Desde un sitio web que hice hace un tiempo. No dude en consultar la fuente:

http://www.primrose-house.co.uk/localattractions

Simplemente haga clic en el enlace en la parte superior derecha para cambiar a la vista del mapa.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top