Javascript 为什么这个边界对象没有得到扩展?

Javascript 为什么这个边界对象没有得到扩展?,javascript,google-maps,google-maps-api-3,Javascript,Google Maps,Google Maps Api 3,在这个JSON-p回调中,我试图通过迭代中下载的每个标记扩展名为bounds(前面声明)的对象。在日志中,它确实被设置为边界对象,但NE SW是相同的: ie $:de b:18.0313936999967 d:18.0313936999967 __原型:德 Y:他 b:59.2933167 d:59.2933167 __原型:他 __原型:ie 为什么??这快把我逼疯了 addStoreMarkers: function(data) { /** This is the

在这个JSON-p回调中,我试图通过迭代中下载的每个标记扩展名为
bounds
(前面声明)的对象。在日志中,它确实被设置为边界对象,但NE SW是相同的:

ie
$:de
b:18.0313936999967
d:18.0313936999967
__原型:德
Y:他
b:59.2933167
d:59.2933167
__原型:他
__原型:ie

为什么??这快把我逼疯了

addStoreMarkers: function(data) {
            /** This is the function that the injected script automatically calls, it passes the markers data in the form 
                JSON (an array object) as an argument. **/

                //iterate over each instance in the data
                for (var i in data.markers) {

                    //set marker icon
                    var image = new google.maps.MarkerImage('images/'+ data.markers[i].icon  +'.png',
                        new google.maps.Size(32.0, 37.0),
                        new google.maps.Point(0, 0),
                        new google.maps.Point(16.0, 37.0)
                    );

                    //set icon shadow
                    var shadow = new google.maps.MarkerImage('images/shadow.png',
                        new google.maps.Size(51.0, 37.0),
                        new google.maps.Point(0, 0),
                        new google.maps.Point(16.0, 35.0) 
                    );

                    //add markers to map
                    var marker = new google.maps.Marker({
                        position: new google.maps.LatLng(data.markers[i].lat, data.markers[i].lgt),
                        map: map,
                        visible: false,
                        icon: image,
                        shadow: shadow
                    });

                    //add marker to markers array   
                    markers.push(marker);

                    //create the bounds representing all downloaded markers
                    bounds = new google.maps.LatLngBounds();
                    bounds.extend(marker.position);

                    //store infoBox data in markers array
                    markers[i].store = data.markers[i].store;
                    markers[i].distance = data.markers[i].distance;
                    markers[i].i = i;

                    //add click-listener to marker
                    google.maps.event.addListener(markers[i], 'click', function() {
                        //on click
                            //set parameter active (so it won't hide)
                            Map.setMarkerActive(this);
                            //call todisplay custom infoWindow function
                            Map.displayInfo(this);
                    });

                }

                console.log(bounds);

                //fitbounds if requested, else pan a bit to call updateView
                if(first){Map.fitBounds(5);first=false;} else {map.panBy(1,1);}

                //remove data from the DOM
                ejectDOM('#jsonp_ref');

                //notify
                Menu.setStatus('Klart!');

                //housekeeping
                delete data;

                console.log('add markers function complete ' + markers.length);
        },
您正在为每个标记创建新边界。您应该在for循环之外创建边界

//create the bounds representing all downloaded markers
bounds = new google.maps.LatLngBounds();
bounds.extend(marker.position);