¿alguien podría decirme cómo centrarme en un país por su nombre en la api v3 de google maps? Sé cómo hacerlo en v2, pero necesito hacerlo en v3.centro en un país por nombre google maps api v3
¡Salud!
¿alguien podría decirme cómo centrarme en un país por su nombre en la api v3 de google maps? Sé cómo hacerlo en v2, pero necesito hacerlo en v3.centro en un país por nombre google maps api v3
¡Salud!
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.
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?
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
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);
}
});
Creo que esta es la manera más simple y más sencilla de reubicar el mapa ... Gracias :) –