-1

この機能のタイムアウトを設定するのを手伝ってくれると思いました。私が設定したタイムアウトは、ループを中断しているようです。

window.eqfeed_callback = function(results) {
    for (var i = 0; i < results.features.length; i++) {
        var earthquake = results.features[i];
        var coords = earthquake.geometry.coordinates;
        var latLng = new google.maps.LatLng(coords[1],coords[0]);
        var marker = new google.maps.Marker({
            position: latLng,
            map: map,
            icon: getCircle(earthquake.properties.mag) 
        });
        map.panTo(latLng);
    }
}

解決済み: 変数を実行する関数を定義することによって

window.eqfeed_callback = function(results) {
    for (var i = 0; i < results.features.length; i++) {
       var earthquake = results.features[i];
       var coords = earthquake.geometry.coordinates;
       var latLng = new google.maps.LatLng(coords[1],coords[0]);
       (function(i, earthquake, coords, latLng) {
         setTimeout(function() {
         var marker = new google.maps.Marker({
           position: latLng,
           map: map,
           icon: getCircle(earthquake.properties.mag),
           animation: google.maps.Animation.DROP });
         map.panTo(latLng);
         }, i * 400);
       }(i, earthquake, coords, latLng));

    }
}
4

1 に答える 1

0

以下はあなたのために働くでしょうか?もちろん、コールバックの実行が適切に機能するためには、results 変数に有効なデータを渡す必要があります。

setTimeout(function() {
    window.eqfeed_callback(results)
}, 4000);
于 2012-12-26T10:51:36.733 に答える