[JavaScript] googlemap wegzoomen

Dieses Thema im Forum "Webentwicklung" wurde erstellt von master2005, 21. November 2012 .

Schlagworte:
Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 21. November 2012
    googlemap wegzoomen

    Hallo, wie kann ich in dieser Map so wegzoomen, dass alle Markierungen sichtbar sind. bzw. immer alle Markierungen sichtbar sind.

    Das was ich gefunden habe, klappt leider nicht.

    var myOptions = {
    zoom: 8,
    center: latlng,
    mapTypeId: google.maps.MapTypeId.ROADMAP
    };




    Code:
    var address = "köln";
     var address2 = "bonn";
     var address3 = "berlin";
     var map = null;
     var geocoder = null;
    
    
    
     function addToMap(response)
     {
     ort = response.Placemark[0];
     point = new GLatLng(ort.Point.coordinates[1],ort.Point.coordinates[0]);
     map.setCenter(point, 15);
     marker = new GMarker(point);
     map.addOverlay(marker);
     }
    
     function initialize()
     {
    
     if (GBrowserIsCompatible())
     {
     map = new GMap2(document.getElementById("map"));
     map.setUIToDefault();
     geocoder = new GClientGeocoder();
     geocoder.getLocations(address, addToMap);
     geocoder.getLocations(address2, addToMap);
     geocoder.getLocations(address3, addToMap);
     }
     }
    
     
  2. 21. November 2012
    AW: googlemap wegzoomen

    Die Links in der Zweiten Antwort sollten dir helfen

    javascript - automatically adjust google map zoom to accomodate marker points in a google map - Stack Overflow
     
  3. 21. November 2012
    Zuletzt von einem Moderator bearbeitet: 22. November 2012
    AW: googlemap wegzoomen

    Abend Nanobyte, danke Dir für deine Hilfe, aber wenn ich dies einsetze, passsiert leider ebenfalls nichts.
     
  4. 22. November 2012
    Zuletzt bearbeitet: 22. November 2012
    AW: googlemap wegzoomen

    Wie genau sieht dein Code denn jetzt aus? Sowie ich das sehe brauchst du ein Object vom Typ
    Code:
    google.maps.LatLngBounds
    und das extendest du mit der .extend() Methode um die LatLng Objekte jedes Markers. Anschließend rufst du die .fitBounds() Methode deines Map-Objektes auf und übergibst da dann das LatLngBounds Objekt.

    greez

    //edit:
    Mit welcher API Version arbeitest du denn? Sieht mir noch stark nach v2 aus und ich rate dir dringend mit v3 zu arbeiten. Wenn du mit v2 arbeitest, dann funktioniert mein Ansatz so nicht. Bei v3 schon.

    //edit 2:
    Ok, bei v2 ist es ähnlich. Nur, dass du ein Objekt vom Typ
    Code:
    GLatLngBounds
    brauchst und dieses dann mit .extend() um die GLatLng Objekte deiner Marker erweiterst. Anschließend übergibst du dann deiner map.setCenter()-Methode die Center Koordinaten deines GLatLng Objekts als ersten Parameter und als zweiten Parameter das ZoomLevel deines GLatLng Objektes. Am besten mal wirklich deinen Code hier anzeigen, sonst können wir dir wenig helfen.

    //edit 3: heute mal in Geberlaune
    Hier der Code, der helfen sollte. Kann dir aber leider nicht garantieren, dass er funktioniert, da ich es nicht testen konnte. (Habe meinen Teil jeweils kommentiert)
    Code:
    var address = "köln";
    var address2 = "bonn";
    var address3 = "berlin";
    var map = null;
    var geocoder = null;
    
    //GLatLngBoundsObject
    var latlngbounds = new GLatLngBounds();
    
    
    function addToMap(response) {
     ort = response.Placemark[0];
     point = new GLatLng(ort.Point.coordinates[1],ort.Point.coordinates[0]);
     map.setCenter(point, 15);
     marker = new GMarker(point);
     map.addOverlay(marker);
     
     //add point to latlngbounds object
     latlngbounds.extend(point);
    }
    
    function initialize() {
    
     if (GBrowserIsCompatible()) {
     map = new GMap2(document.getElementById("map"));
     map.setUIToDefault();
     geocoder = new GClientGeocoder();
     geocoder.getLocations(address, addToMap);
     geocoder.getLocations(address2, addToMap);
     geocoder.getLocations(address3, addToMap);
     
     //all addresses were added; zoom-to-fit
     map.setCenter(latlngbounds.getCenter(), map.getBoundsZoomLevel(latlngbounds));
     }
     
    }​
    
     
  5. 22. November 2012
    Zuletzt bearbeitet: 22. November 2012
    AW: googlemap wegzoomen

    Super vielen Dank!!!

    Hat geklappt.


    BW ist raus...
     
  6. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.