Estou usando a API do Google Maps (v2) e gostaria de centralizar o mapa onload em um país (por exemplo, inglaterra).
No momento, eu centralizo o mapa usando:
map.setCenter(new GLatLng( 43.907787,-79.359741), 9);
Mas isso obviamente requer longitude e latitude.
Qualquer maneira de fazer isso, inserindo um nome de um país?
Respostas:
16 para resposta № 1var country = "United States"
var map = new GMap2($("#map")[0]);
map.setUIToDefault();
var geocoder = new GClientGeocoder();
geocoder.getLatLng(country, function (point) {
if (!point) {
// Handle error
} else {
map.setCenter(point, 8, G_PHYSICAL_MAP);
}
});
9 para resposta № 2
Você precisa geocodificar o endereço primeiro:
var geocoder = new google.maps.Geocoder();
var 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);
}
});
5 para resposta № 3
Transformar um nome ou endereço de local em uma latitude / longitude como essa é chamado de geocodificação. A API do Google Maps agora inclui esse recurso: consulte http://code.google.com/apis/maps/documentation/services.html#Geocoding
Eles incluem um aplicativo de amostra no qual você pode digitar um endereço e funciona simplesmente para digitar um nome de país. Eu não sei se eles estão indo para o centro exato do país.