Pergunta

Eu desenvolver um simples aplicativo Google Maps. Eu preciso apenas colocar um marcador no mapa. Por qualquer razão, o marcador está posicionado do lado de fora da área visível do mapa. É um pouco estranho, porque o mapa é centrado em coordenadas do marcador. Aqui está o 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);

Quando arrastar o mapa um pouco, podemos ver o marcador. O que eu preciso é para centrar o mapa na forma como o marcador será visível sem mapa arrastando.

Alguém pode me ajudar?

Foi útil?

Solução

Eu acredito que o objeto GLatLng aceitaria argumentos de corda, bem como - mas para ser seguro eu iria garantir que eles são inteiros - tente usar:

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

Eu também notei que você chamar map.setCenter uma segunda vez que deve não ser necessário.

Usando o seguinte código realmente deveria fazê-lo

  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);

Se você ainda está tendo problemas Gostaria de verificar o objeto "local" para garantir que os valores .lat e .lon estão sendo preenchido corretamente.

Outras dicas

Verifique este código para fora:

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

A partir de um site que eu fiz há um tempo atrás. Sinta-se livre para verificar a fonte:

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

Basta clicar no link no canto superior direito para mudar para a visualização do mapa.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top