2010-12-10 25 views

Respuesta

43

Puede utilizar la codificación geográfica para buscar Lat/Lng del país.
Echa un vistazo a este sample de Google.

Básicamente, usted tiene que hacer algo como esto:

var country = "Germany"; 
var geocoder; 

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

En su función de inicialización que necesita para establecer el valor del objeto geocodificador, así:

geocoder = new google.maps.Geocoder(); 

te había necesita entrenar qué nivel de zoom apropiado sería, y luego configurarlo después de haber centrado el mapa.

+0

Creo que esta es la manera más simple y más sencilla de reubicar el mapa ... Gracias :) –

0

La única forma en que sé cómo hacerlo sería tener una lista de los países y sus respectivos Lat y Lng, con esa información conocida, podría usar el siguiente código.

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); 

Por curiosidad, ¿cómo lo harías en v2?

+0

que podría pasar el nombre del país para el geocodificador proporcionado en la API, y el uso de la resultante latitud/longitud del mismo modo que ha hecho allí. – RYFN

1

Este código funciona para mí:

 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); 
      } 
     }); 
Cuestiones relacionadas