könnte mir jemand sagen, wie man auf einem Land mit Namen auf den google maps api v3 zentriert? Ich weiß, wie man es in v2 macht, aber muss es in v3 tun.zentrieren Sie auf einem Land nach Name google maps api v3
Prost!
könnte mir jemand sagen, wie man auf einem Land mit Namen auf den google maps api v3 zentriert? Ich weiß, wie man es in v2 macht, aber muss es in v3 tun.zentrieren Sie auf einem Land nach Name google maps api v3
Prost!
Sie können die Geocodierung verwenden, um die Breite/Länge des Landes nachzuschlagen.
Werfen Sie einen Blick auf diese sample von Google.
Im Grunde brauchen Sie so etwas wie dies zu tun:
var country = "Germany";
var geocoder;
geocoder.geocode({'address' : country}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
map.setCenter(results[0].geometry.location);
}
});
In Ihrem Initialisierungsfunktion müssen Sie den Wert des Geocoder Objekts einzustellen, wie folgt aus:
geocoder = new google.maps.Geocoder();
, würden Sie Sie müssen eine geeignete Zoomstufe berechnen und diese dann festlegen, nachdem Sie die Karte zentriert haben.
Der einzige Weg, ich weiß, wie es geht, wäre eine Liste der Länder und ihre jeweiligen Lat und Lng, mit dieser Information bekannt, könnten Sie den folgenden Code verwenden.
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);
Aus Neugier, wie würdest du es in v2 tun?
Sie den Namen des Landes an den Geocoder in der API und verwenden Sie die resultierende lat/lon so wie Sie es getan haben, zur Verfügung gestellt passieren könnte. – RYFN
Dieser Code funktioniert für mich:
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);
}
});
Ich denke, das ist der sauberste und einfachste Weg, um die Karte neu zu positionieren ... Danke :) –