2016-08-12 7 views
-1

一度に1点を読み込むソリューションはありますか?私はこのコードで作業していますが、外部の.jsonファイルで別のものをロードするために2秒間隔で1マーカをロードするという考えを ロードするときに間違っています。setintervalsとjsonファイルを使用してマーカーをロードする

function loadpoints() { 

    function getData() { 

var min=1; 
var max = 4 // max number off json 
var markersArray = []; 
var mytime = setInterval(mytime, 2000); 

var random = Math.floor(Math.random()*max)+min; 
var jsonfile = "pointer" + random.toString()+".json" //display one of the files 

$.getJSON(jsonfile, function(pointer) { 

    var latlngbounds = new google.maps.LatLngBounds(); 

    $.each(pointer, function(index, ponto) { 


    var marker = new google.maps.Marker({ 
     position: new google.maps.LatLng(ponto.lat, ponto.lon), 
     title: ponto.activity, 
     icon: ponto.activity + '.png', 
     map: map, 
     draggable:true, 
     animation: google.maps.Animation.DROP 
    }); 


    console.log("created marker " + marker.position); 
    }); 
    // setTimeout (getData, 10000); 
}); 

}; 

getData(); 
//close loadpoints 
} 
+2

"何かが間違っている"と定義します。何かエラーがありますか?コードがあなたが期待していなかったことは何ですか?それはどうしますか? – Pevara

+0

あなたのインターバルは何もしません、あなたは2秒間隔でロードできますか? –

答えて

0

インクリメントインデックスと2秒ごとに自分自身を呼び出す関数を作成します。その私のせいです、あなたが知っていますhttps://jsfiddle.net/d5vdzLo6/1/

function loadpoints() { 

    var min=1; 
    var max = 4 // max number off json 
    var markersArray = []; 
    var mytime = setInterval(mytime, 2000); 

    var random = Math.floor(Math.random()*max)+min; 
    var jsonfile = "pointer" + random.toString()+".json" //display one of the files 

    $.getJSON(jsonfile, function(pointer) { 
     drawMarker(pointer, 0) 
    }); 

    function drawMarker(markers, index) { 

     if(index >= markers.length) { 
      return 
     } 

     var ponto = markers[index] 

     var marker = new google.maps.Marker({ 
      position: new google.maps.LatLng(ponto.lat, ponto.lon), 
      title: ponto.activity, 
      icon: ponto.activity + '.png', 
      map: map, 
      draggable:true, 
      animation: google.maps.Animation.DROP 
     }); 

     console.log("created marker " + marker.position); 

     setTimeout(function() { 
      drawMarker(markers, index + 1) 
     }, 2000) 
    } 
} 
+0

私はそのように考えていましたが、地図を読み込むためにエラーが発生しました。私は今作ろうとしているコードを埋めます。 –

+0

どこに地図をロードしていますか?すべてのマーカーを同時に入れることはできますか? –

+0

ええ、同時にすべての負荷が、私は1つのPR時間を探しています –

0
function loadpoints() { 

    function getData() { 
    var temp=0; 
    var interval= setInterval(function() { 

var min=1; 
var max = 4 // max number off json 
var markersArray = []; 

var random = Math.floor(Math.random()*max)+min; 
var jsonfile = "pointer" + random.toString()+".json" //display one of the files 

$.getJSON(jsonfile, function(pointer) { 

    var latlngbounds = new google.maps.LatLngBounds(); 

    $.each(pointer, function(index, ponto) { 

    var marker = new google.maps.Marker({ 
     position: new google.maps.LatLng(ponto.lat, ponto.lon), 
     title: ponto.activity, 
     icon: ponto.activity + '.png', 
     map: map, 
     animation: google.maps.Animation.DROP 
    }); 

    temp++; 
    if (temp >pointer.length) clearInterval(interval); 

    console.log("created marker " + marker.position); 
    }); 
    // setTimeout (getData, 10000); 
}); 

};1000; 

getData(); 
//close loadpoints 
} 

を?

関連する問題