Lorsque vous créez un nouvel objet marqueur via l'API Google Maps, vous pouvez appeler setCenter
de l'objet carte fonction, en passant dans la position du marqueur:
map.setCenter(marker.position);
Cela devrait centrer la carte sur le marqueur.
Si vous souhaitez animer le processus, utilisez panTo
à la place:
map.panTo(marker.position);
Il convient également de noter que les center
et zoom
propriétés que vous essayez de mettre dans le constructeur de l'objet marqueur n'existe pas . Ce sont des propriétés de l'objet cartographique lui-même et doivent être définies ici.
J'imagine quelque chose comme ceci:
function addMarker(lat, lng, name)
{
var newMarker = new google.maps.Marker({ map: map,
icon: image,
position: new google.maps.LatLng(lat, lng),
title: name });
map.setCenter(newMarker.position);
map.setZoom(6);
}
Je voudrais aussi ajouter map
et envisager image
à la liste des paramètres de addMarker
au lieu d'utiliser des objets SCOPED « global », ou je aurait une fonction à l'aide renoncent à tout. C'est un peu difficile et dépend du besoin de votre code.
More Info Here
Grande explication, mais il y a un plus quand il centre de problèmes, la carte va gris et aucune carte est affichée. Quand j'ajoute 10 marqueurs avec 5 sec interwal, je regarde juste la boîte grise. – Andrew
Dépend de l'endroit où vous êtes dans le monde. 6 est assez près du sol et il n'y a peut-être pas d'images là-bas. Utilisez quelque chose un peu plus haut, comme 10 ou 15 à des fins de test. Il y a quelque chose que vous pouvez faire pour éviter cela. [Regardez ici] (https://developers.google.com/maps/documentation/javascript/maxzoom) – digitlworld
Oups. 6 est loin, pas proche. C'est toujours probablement lié à des données manquantes ou la carte prend un certain temps à charger. Il y a aussi un certain nombre d'autres facteurs qui peuvent affecter le rendu de la carte et qui sont en dehors de la portée de cette question. – digitlworld