説明
		
			
			
		
XMLやCSVデータなどから得られた座標値を元にマーカーを表示する場合、大量にマーカーがあると表示が遅くなってしまいます。
続きは書籍で、どうぞ...
				 
			
				
				
		<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
		<html xmlns="http://www.w3.org/1999/xhtml">
		<head>
		<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
		<title>Sample</title>
		<script src="http://maps.google.com/maps?file=api&v=2&key=ABQIAAAAasAJryKxWJnBFVJa487d9hTHGAxTVT7IRADYa-JdYz7xQ8IQZBSthgDZdggYpQHsmm6WYtHstQFfLA" type="text/javascript"></script>
		<script type="text/javascript">
		//<![CDATA[
		 var map, httpObj;
		 window.onload = function() {
		  map = new GMap2(document.getElementById("gmap"));
		  map.setCenter(new GLatLng(37, 138), 6);
		  map.addControl(new GLargeMapControl());
		  var msec = (new Date()).getTime();
		  httpObj = GXmlHttp.create();
		  httpObj.open("get", "./point.csv?cache="+msec);
		  httpObj.onreadystatechange = function() {
		   if ((httpObj.readyState == 4) && (httpObj.status == 200)) addMarker();
		  }
		  httpObj.send(null);
		  GEvent.addListener(map, "zoom", addMarker );
		  GEvent.addListener(map, "moveend", addMarker );
		 }
		 function addMarker() {
		  map.clearOverlays(); // 全てのマーカーを消去(線も消えるので注意)
		  var count = 0; // 表示するマーカーの数をカウントする変数
		  var CR = String.fromCharCode(13);
		  var txt = httpObj.responseText;
		  var pointData = txt.split(CR);
		  var area = map.getBounds();
		  for (var i=0; i<pointData.length; i++) {
		   var pnt = pointData[i].split(",");
		   var mx = pnt[0];
		   var my = pnt[1];
		   var gpObj = new GLatLng(my, mx);
		   if (area.contains(gpObj)) {
		    map.addOverlay(new GMarker(gpObj));
		    count++;
		   }
		  }
		  document.getElementById("result").innerHTML = "表示したマーカー数:"+count;
		 }
		//]]>
		</script>
		</head>
		<body>
		<div id="gmap" style="width: 500px; height: 400px"></div>
		<div id="result"></div>
		</body>
		</html>