Google maps auto-fit (auto center & autozoom) doesn't work

前端 未结 1 1591
北荒
北荒 2020-12-05 14:51

I have a problem with a map on which I\'ve used the fitBounds map methods, which should give the proper zoom and center the map giving it a latlon array. here\'

相关标签:
1条回答
  • 2020-12-05 15:25

    I've updated your fiddle here: http://jsfiddle.net/KwayW/1/

    It works now as expected.

    Here's the full code (save this as test.html and open in browser):

    <style>#map_canvas { width:500px; height: 400px; }</style>
    <script src="http://maps.googleapis.com/maps/api/js?sensor=false"></script>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.1/jquery.min.js"></script>
    
    <div id="map_canvas"></div>
    
    <script>
    var map;
    var markersArray = [];
    var image = 'img/';
    var bounds = new google.maps.LatLngBounds();
    var loc;
    
    function init(){
        var mapOptions = { mapTypeId: google.maps.MapTypeId.ROADMAP };
        map =  new google.maps.Map(document.getElementById("map_canvas"), mapOptions);
    
        loc = new google.maps.LatLng("45.478294","9.123949");
        bounds.extend(loc);
        addMarker(loc, 'Event A', "active");
    
        loc = new google.maps.LatLng("50.83417876788752","4.298325777053833");
        bounds.extend(loc);
        addMarker(loc, 'Event B', "active");
    
        loc = new google.maps.LatLng("41.3887035","2.1807378");
        bounds.extend(loc);
        addMarker(loc, 'Event C', "active");
    
        map.fitBounds(bounds);
        map.panToBounds(bounds);    
    }
    
    function addMarker(location, name, active) {          
        var marker = new google.maps.Marker({
            position: location,
            map: map,
            title: name,
            status: active
        });
    }
    
    $(function(){ init(); });
    </script>
    
    0 讨论(0)
提交回复
热议问题