より効率的なサンプル

Rosenクラスはサーバアクセスの結果をできるだけキャッシュして再利用しますので、それを利用すると効率のよいプログラムを書くことができます。

このサンプルでは、まずgetStationsByCode()で一括して10件の駅データを取得しています。 このとき駅データがRosenクラスの中にキャッシュされるので、以降の setStationMarker()の呼び出し時にはサーバアクセスは発生しません。

このテクニックは路線や駅間データ取得の際にも使用できます。

var rosen;

function init() {
  rosen = new Rosen("map", {
    apiKey: "2jr5nchcswemrfjj67jvjaqu",  // アクセスキーはサンプル用です。実際にご利用されるときは書き換えてください。
  });

  var station_codes = [22828, 22951, 22917, 22645, 22507, 22520, 22856, 22756, 22797, 22751];

  rosen.getStationsByCode(station_codes).then(function(stations) {
    stations.forEach(function(station) {
      rosen.setStationMarker(station.code);
    });
  });

}

window.addEventListener('load', init);