Google Maps centralização ou emitir posicionamento marcador
-
05-07-2019 - |
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?
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.