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?

È stato utile?

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.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top