2013-08-26 28 views
6

Nach meiner vorherigen Frage Google maps responsive resize Ich möchte eine andere Zoomstufe basierend auf Windows-Größe zu implementieren, so wenn Browser-Fenster "weniger als" gelten x Anzahl der Zoom und wenn "größer als "Wenden Sie automatisch eine andere Zoomstufe an.Google Maps verschiedene Zoom basierend auf Fenstergröße

Der folgende Code funktioniert perfekt in Bezug von Rezentrierung der Karte auf Fenster Größe ändern, muß ich die neuen Zoom-Stufen, um es anzuwenden:

var map; 
function initialize() { 
    var mapOptions = { 
    center: new google.maps.LatLng(40.5472,12.282715), 
    zoom: 6, 
    mapTypeId: google.maps.MapTypeId.ROADMAP 
}; 
map = new google.maps.Map(document.getElementById("map-canvas"), 
     mapOptions); 
} 
google.maps.event.addDomListener(window, 'load', initialize); 
google.maps.event.addDomListener(window, "resize", function() { 
    var center = map.getCenter(); 
    google.maps.event.trigger(map, "resize"); 
    map.setCenter(center); 
    map.setZoom(zoom level needs to be automatically set according to window size); 
}); 
+0

wahrscheinlich am einfachsten zu ermitteln, die Grenzen, die Sie sichtbar möchten und verwenden Sie map.fitBounds anstelle von map.setCenter. – geocodezip

+0

Muss die Karte eine bestimmte Menge von Punkten enthalten? Gibt es noch weitere Details, die Sie zur Verfügung stellen können? – rsnickell

+0

die Karte muss einen bestimmten Bereich mit einem bestimmten LatLng enthalten, die Werte werden im obigen Code angegeben, die Marker werden in diesem Bereich enthalten sein –

Antwort

4

den Bereich Bauen Sie immer im Blick sein wollen durch eine Schaffung LatLngBounds und rufen Sie map.fitBounds() wie von Geocodezip vorgeschlagen.

+0

Wenn ich die ganze Map immer angezeigt bekommen möchte, was wären meine LatLangBounds? – brandozz

+0

Ich habe meine südöstlichen und nordwestlichen Ecken ausgewählt, aber zu Zeiten, wenn ich die Größe meines Browsers ändere, stellt die Zoomstufe das dar, was ich außerhalb meiner Koordinaten eingestellt habe. – brandozz

Verwandte Themen