it-swarm-eu.dev

Centrer sur un pays par son nom dans Google Maps API v3

Quelqu'un peut-il me dire comment centrer un pays par son nom sur l'API Google Maps v3? Je sais comment le faire dans la v2, mais j'ai besoin de le faire dans la v3.

21
David

Vous pouvez utiliser le géocodage pour rechercher la latitude et la longitude du pays. Jetez un oeil à cet échantillon de Google.

Fondamentalement, vous devez faire quelque chose comme ceci:

var country = "Germany";
var geocoder;

geocoder.geocode( {'address' : country}, function(results, status) {
    if (status == google.maps.GeocoderStatus.OK) {
        map.setCenter(results[0].geometry.location);
    }
});

Dans votre fonction d'initialisation, vous devrez définir la valeur de l'objet géocodeur, comme suit:

geocoder = new google.maps.Geocoder();

Vous devez définir le niveau de zoom approprié, puis le définir après avoir centré la carte.

47
kzhen

Ce code fonctionne pour moi:

      let geocoder = new google.maps.Geocoder();
      let location = "England";
      geocoder.geocode({ 'address': location }, function(results, status){
          if (status == google.maps.GeocoderStatus.OK) {
              map.setCenter(results[0].geometry.location);
          } else {
              alert("Could not find location: " + location);
          }
      });
1
Ashish Gupta

Le seul moyen de le savoir, c’est d’avoir une liste des pays et de leurs gouvernements respectifs, et avec ces informations, vous pouvez utiliser le code suivant.

var myLatlng = new google.maps.LatLng(-34.397, 150.644);
var myOptions = {
  zoom: 8,
  center: myLatlng,
  mapTypeId: google.maps.MapTypeId.ROADMAP
};

var map = new google.maps.Map(document.getElementById("map_canvas"),
    myOptions);

Par curiosité, comment vous y prendriez-vous dans la v2?

0
Jose Vega