Google Maps setCenter()
Je suis en utilisant google maps. Dans mon code, j'ai utilisé setCenter() fonction. Mon problème est que le marqueur est toujours situé sur le coin supérieur gauche de la zone de carte (pas au centre). Merci de me dire comment le résoudre?
Mon morceau de code est
lat = 46.437857;
lon = -113.466797;
marker = new GMarker(new GLatLng(lat, lon));
var topRight = new GControlPosition(G_ANCHOR_TOP_RIGHT, new GSize(20, 40));
map.addControl(new GLargeMapControl3D(), topRight);
map.setCenter(new GLatLng(lat, lon), 5);
map.addOverlay(marker);
- si vous avez affiché un peu de votre code, il est probable que pour aider les
- Pouvez-vous également nous montrer la
<div>
de la carte en toile, et si possible à la pleine partie JavaScript qui initialise tout. Il ressemble à il ya quelque chose de mal, quelque part d'autre. - dans l'image ci-dessus u peut voir en haut à gauche, il y a un marqueur à Londres
Vous devez vous connecter pour publier un commentaire.
@phoenix24 réponse m'a effectivement aidé (dont asnwer ne parvenez pas à résoudre mon problème d'ailleurs). Les bons arguments pour setCenter est
Google Documents
Par ailleurs, si votre variable de la lat et de gnl, le code suivant fonctionne
Cela a résolu mon très complexe problème alors j'ai pensé, je vais le poster ici.
J'ai cherché et cherché et finalement trouvé que ie besoin de savoir la taille de la carte.
Définissez la taille de la carte pour correspondre à la taille de la div.
dans votre code, à la ligne
la setCenter méthode prend qu'un seul paramètre, pour le lat:long de l'emplacement. Pourquoi êtes-vous en passant par deux paramètres ?
Je suggère que vous devriez changement à,
G
préfixe. La v3 utilise legoogle.maps
espace de noms à la place.Pour moi, solutions ci-dessus n'a pas fonctionné alors j'ai essayé
et cela a fonctionné comme prévu.