メンバーのディレクトリを作成しています。このディレクトリは、名前と町または都市からの距離の順にメンバーを一覧表示し、Google MapsAPIv3を使用して地図に表示します。
ほぼ思い通りに動作していますが、少し遅いのではないかと心配しています。すでに非同期で読み込んでいますが、マーカーに問題があります。
マップをロードしてから、マーカーを1つずつすばやく連続してドロップアニメーションに表示したいと思います。現時点では遅延があり、それらはすべて一緒にドロップし、マップに表示されてからドロップすることもありますが、これは非常に奇妙に見えます。
PHP foreachスクリプト(MYSQLデータベースから)を使用して、メンバーのjavascript配列を出力しています。マップ上には10〜400個のマーカーがありますが、通常は一度に100個以下です。
簡潔にするために、以下の例には4つのマーカーのみを含めました(前に述べたように、PHP foreachスクリプトから出力されます)。
<script>
var infowindow = null;
$(document).ready(function () { initialize();  });
function initialize() {
    var centerMap = new google.maps.LatLng(53.1,-2.2);
    var myOptions = {
        zoom: 9,
        center: centerMap,
        mapTypeId: google.maps.MapTypeId.ROADMAP,
        scrollwheel: false
    }
    var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
    setMarkers(map, sites);
    infowindow = new google.maps.InfoWindow({
            content: "loading..."
        });
}
 var sites = [
 ['Joe Bloggs',52.1022,-2.1070,1,"Member  <a href=\"#\">Joe Bloggs</a>"],                              
 ['Peter Pan',52.2022,-2.2070,1,"Member  <a href=\"#\">Peter Pan</a>"],                                
 ['Andrew Andrewson',52.0322,-2.0170,1,"Member  <a href=\"#\">Andrew Andrewson</a>"],                              
 ['Peter Peterson',52.0022,-2.0070,1,"Member  <a href=\"#\">Peter Peterson</a>"],  
 ];
function setMarkers(map, markers) {
    for (var i = 0; i < markers.length; i++) {
        var sites = markers[i];
        var siteLatLng = new google.maps.LatLng(sites[1], sites[2]);
        var marker = new google.maps.Marker({
            position: siteLatLng,
            map: map,
            title: sites[0],
            zIndex: sites[3],
            html: sites[4],
            animation: google.maps.Animation.DROP
        });
        var contentString = "Some content";
        google.maps.event.addListener(marker, "click", function () {
            infowindow.setContent(this.html);
            infowindow.open(map, this);
        });
    }
}
  function loadScript() {
    var script = document.createElement('script');
    script.type = 'text/javascript';
    script.src = 'https://maps.googleapis.com/maps/api/js?key=my-key-is-here&sensor=false&' +'callback=initialize';
    document.body.appendChild(script);
  }
  window.onload = loadScript;
</script>
これを高速化して、ページの読み込み後にマーカーをドロップアニメーションに表示するにはどうすればよいですか?