Google Maps API v3 でマーカーを1万個表示させたらどうなるかの動作確認用
※低スペック端末で広域にするとフリーズ状態になるかもしれないので注意。
単純にforループを10000回繰り返して、ランダムな緯度・経度にマーカーをセットしているだけ。
分かった事、(1)forの繰り返し回数だけ開始が遅くなる。(2)登録数が多くても地図の表示範囲のマーカーが少なければほとんど動作に影響は無い、しかし表示範囲内のマーカーが多いと移動時などで地図の再表示速度が低下する。
思ったほど動作への影響が小さかったが、影響が0では無いのでマーカーが増えそうな場合は何か対策が必要。
<!DOCTYPE HTML> <html> <head> <meta name="viewport" content="width=device-width,initial-scale=1.0"> <style> #mapdiv { height:300px; width:300px;} </style> </head> <body> <div id="mapdiv"></div> <script type="text/javascript"> var gmap; function initMap() { gmap = new google.maps.Map(document.getElementById('mapdiv'), { center: {lat: 35.689, lng: 139.692}, zoom: 8 }); var marker=[]; for(var i=0; i<=10000; i++){ var nr=Math.random()*170-85; /* 緯度 -85~+85 */ var er=Math.random()*360-180; /* 経度 -180~+180 */ marker[i] = new google.maps.Marker({ position:{lat: nr, lng: er}, map: gmap }); } } </script> <script async defer src="https://maps.googleapis.com/maps/api/js?key=【あなたのAPIキー】&callback=initMap"> </script> </body> </html>