Jquery 加载所有标记后停止反弹标记

Jquery 加载所有标记后停止反弹标记,jquery,google-maps,animation,google-maps-markers,Jquery,Google Maps,Animation,Google Maps Markers,我有一个标记每秒加载一个。大约有50个,加载所有这些需要一段时间。因此,作为它们仍在加载的指示,我已将它们的动画设置为“反弹”。但一旦它们全部加载,我想停止反弹动画。我该怎么做 var geocoder; var map; var addresses = new Array(); var infowindow; var theInterval; function initialize() { geocoder = new google.maps.Geocoder(); var

我有一个标记每秒加载一个。大约有50个,加载所有这些需要一段时间。因此,作为它们仍在加载的指示,我已将它们的动画设置为“反弹”。但一旦它们全部加载,我想停止反弹动画。我该怎么做

var geocoder;
var map;
var addresses = new Array();
var infowindow;
var theInterval;

function initialize() {
    geocoder = new google.maps.Geocoder();
    var latlng = new google.maps.LatLng(42.095287, -79.3185139);
    var myOptions = {
        maxZoom: 14,
        zoom: 9,
        center: latlng,
        mapTypeId: google.maps.MapTypeId.ROADMAP,
    };
    map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
    infowindow = new google.maps.InfoWindow({});
}

$(document).ready(function () {
    getAddresses();
    theInterval = setInterval("codeAddress()", 1000);
});

function getAddresses () {
    $('.LocationAddress').each(function () {
        addresses.push($(this).text());
    });
}

function codeAddress() {
    if (addresses.length == 0) {
        clearInterval(theInterval);
    }
    var addy = addresses.pop();
    geocoder.geocode({
        'address': addy
    }, function (results, status) {
        if (status == google.maps.GeocoderStatus.OK) {
            map.setCenter(results[0].geometry.location);
            var marker = new google.maps.Marker({
                position: results[0].geometry.location,
                map: map,
                title: addy,
            animation: google.maps.Animation.BOUNCE,

            });

            //Adding a click event to the marker 
            google.maps.event.addListener(marker, 'click', function () {
                infowindow.setContent('<div id=\"infowindow\" style=" height:100px;>' + '<div id=\"LeftInfo\">' + "Hello World!" + '</div>' + '</div>');
                infowindow.open(map, this);
            });
        }

    }); //Geocoder END
}

保留所有标记的列表

加载所有内容后,循环并停止其动画

在其他新闻中,这个:值得一读。它的旧版本是指hte API的v2,否则信息仍然是相关的

您也有一个off-by-one错误。clearInterval应该在pop之后调用。在当前设置中,即使数组为空,仍会再次调用该函数