Problema di centraggio o posizionamento di Google Maps
-
05-07-2019 - |
Domanda
Sviluppo una semplice applicazione di Google Maps. Devo solo posizionare un indicatore sulla mappa. Per qualsiasi motivo, il marker viene posizionato al di fuori dell'area visibile della mappa. È un po 'strano, perché la mappa è centrata sulle coordinate del marker. Ecco il codice:
var point1 = new GLatLng(location1.lat,location1.lon);
map1.setCenter(point1, 15);
var marker1 = new GMarker(point1);
map1.addOverlay(marker1);
map1.setCenter(point1);
Quando trasciniamo un po 'la mappa, possiamo vedere l'indicatore. Ciò di cui ho bisogno è centrare la mappa nel modo in cui l'indicatore sarà visibile senza trascinare la mappa.
Qualcuno può aiutarmi?
Soluzione
Credo che anche l'oggetto GLatLng accetterebbe argomenti String - ma per sicurezza assicurerei che siano numeri interi - prova ad usare:
new GLatLng(parseInt(location.lat), parseInt(location.lon));
Ho anche notato che hai chiamato map.setCenter una seconda volta che non dovrebbe essere necessario.
L'uso del seguente codice dovrebbe davvero farlo
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 i problemi persistono, verificherei che "posizione" per accertarsi che i valori .lat e .lon vengano popolati correttamente.
Altri suggerimenti
Dai un'occhiata a questo codice:
var map = new GMap(document.getElementById("map"));
/* -- snip -- */
map.centerAndZoom(new GPoint(-1.2736, 53.0705), 8);
Da un sito web che ho creato qualche tempo fa. Sentiti libero di controllare la fonte:
http://www.primrose-house.co.uk/localattractions
Basta fare clic sul collegamento in alto a destra per passare alla visualizzazione della mappa.