back | source
การแสดงสถานที่จำนวนมาก
  1. สามารถดึงเฉพาะสถานที่ที่ปรากฎบนแผนที่จาก Server มาแสดงดังนี้
    map.Tags.add(function(tile, zoom) {
      var bound = longdo.Util.boundOfTile(map.projection(), tile);
      mockAjaxFromServer(bound, function(locationList) {
        for (var i = 0; i < locationList.length; ++i) {
          map.Overlays.add(new longdo.Marker(locationList[i], { visibleRange: { min: zoom, max: zoom } }));
        }
      });
    });
  2. จำลองการทำงานฝั่ง Server ด้วยการ random ดังนี้
    function mockAjaxFromServer(bound, callback) {
      var locationList = [];
      var count = Math.random() * 5;
      for (var i = 0; i < 3; ++i) {
        locationList.push({ lon: bound.minLon + (Math.random() * (bound.maxLon - bound.minLon)),
          lat: bound.minLat + (Math.random() * (bound.maxLat - bound.minLat)) });
      }
      callback(locationList);
    }