Google Maps setCenter ()

J'utilise google maps. Dans mon code, j'ai utilisé la fonction setCenter (). Mon problème est que le marqueur est toujours situé dans le coin supérieur gauche de la zone de la carte (pas au centre). Veuillez me dire comment le résoudre?

Mon code est

  • Trouver un ensemble de coordonnées dans une certaine plage de latitude et longitide
  • Interagir indépendamment avec les couches géojson dans google maps api v3
  • Changer l'icône du google map marker quand onmouseover div (Google maps v3 api)
  • Modifiez le niveau de zoom maximal d'un type de carte Google
  • Marqueur fixe dans le centre et glisser la carte pour obtenir lat, long
  • Javascript, modifiez la couleur de marque google map
  • 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); 

  • Pourquoi je ne peux pas utiliser jQuery pour tirer une requête AJAX d'un gestionnaire d'événements de déchargement?
  • Quelle valeur "href" dois-je utiliser pour les liens JavaScript, "#" ou "javascript: void (0)"?
  • Angular2 RxJS obtient l'erreur 'Observable_1.Observable.fromEvent n'est pas une fonction'
  • Comment puis-je déterminer quels objets sont collectés par le collecteur d'ordures?
  • Passer un paramètre supplémentaire à un rappel de JSONP
  • La méthode jQuery .on () ne voit pas de nouveaux éléments
  • 4 Solutions collect form web for “Google Maps setCenter ()”

    La réponse @ phoenix24 m'a réellement aidé (dont le propre comment n'a pas résolu mon problème). Les arguments corrects pour setCenter sont

     map.setCenter({lat:LAT_VALUE, lng:LONG_VALUE}); 

    Documentation Google

    En passant, si votre variable est en ligne et lng, le code suivant fonctionnera

     map.setCenter({lat:lat, lng:lng}); 

    Cela a effectivement résolu mon problème très complexe, donc j'ai pensé que je le publierai ici.

      function resize() { var map_obj = document.getElementById("map_canvas"); /* map_obj.style.width = "500px"; map_obj.style.height = "225px";*/ if (map) { map.checkResize(); map.panTo(new GLatLng(lat,lon)); } } <body onload="initialize()" onunload="GUnload()" onresize="resize()"> <div id="map_canvas" style="width: 100%; height: 100%"> </div> 

    J'ai cherché et recherché et j'ai finalement trouvé que c'est besoin de connaître la taille de la carte. Réglez la taille de la carte en fonction de la taille du div.

     map = new GMap2(document.getElementById("map_canvas2"), { size: new GSize(850, 600) }); <div id="map_canvas2" style="width: 850px; height: 600px"> </div> 

    Dans votre code, à la ligne

     map.setCenter(new GLatLng(lat, lon), 5); 

    La méthode setCenter ne prend qu'un seul paramètre, pour le lat: long emplacement. Pourquoi passez-vous deux paramètres là-bas?

    Je vous suggère de le changer,

     map.setCenter(new GLatLng(lat, lon)); 
    JavaScript rend le site Web intelligent, beauté et facile à utiliser.