Postal Search Ajax API ダイジェスト
Postal Search Ajax API の使い方を紹介します。
目次
- Postal オブジェクト
- Japan オブジェクト
- Postal.Lookup クラス
- Postal.Coder クラス
Postal オブジェクト
ブラウザで使えるかどうか調べる
本 API がブラウザで使えるかどうかは Postal オブジェクトの isCompatible メソッドを使って調べます。
if (Postal.isCompatible())
alert('このブラウザで使えます!');
else
alert('このブラウザでは使えません!');
API のバージョンを調べる
本 API のバージョンは Postal オブジェクトの version プロパティを使って調べます。
alert('バージョン: ' + Postal.version);
Japan オブジェクト
都道府県を列挙し、そのふりがな、地方公共団体コード、緯度経度を取得する
Japan オブジェクトの arr プロパティは、都道府県のオブジェクトの配列です。都道府県のふりがな、地方公共団体コード、緯度経度は、そのオブジェクトのプロパティを使って取得します。
for (var i=0; i<Japan.arr.length; i++) {
var pref = Japan.arr[i];
alert([
pref.a, // 都道府県
pref.k, // フリガナ
pref.h, // ふりがな
pref.r, // ローマ字
pref.g, // 地方公共団体コード
pref.x, // 経度
pref.y // 緯度
].join(' '));
}
指定した都道府県のふりがな、地方公共団体コード、緯度経度を取得する
都道府県のふりがな、地方公共団体コード、緯度経度は、そのオブジェクトのプロパティを使って取得します。
// 北海道
var pref = Japan.Hokkaido;
alert([
pref.a, // 都道府県
pref.k, // フリガナ
pref.h, // ふりがな
pref.r, // ローマ字
pref.g, // 地方公共団体コード
pref.x, // 経度
pref.y // 緯度
].join(' '));
// 東京都
pref = Japan.Tokyo;
alert([
pref.a, // 都道府県
pref.k, // フリガナ
pref.h, // ふりがな
pref.r, // ローマ字
pref.g, // 地方公共団体コード
pref.x, // 経度
pref.y // 緯度
].join(' '));
// 沖縄県
pref = Japan.Okinawa;
alert([
pref.a, // 都道府県
pref.k, // フリガナ
pref.h, // ふりがな
pref.r, // ローマ字
pref.g, // 地方公共団体コード
pref.x, // 経度
pref.y // 緯度
].join(' '));
Postal.Lookup クラス
郵便番号の住所を検索する
郵便番号の住所を検索するときは Postal.Lookup クラスの send メソッドを使います。send メソッドは、指定した郵便番号の住所を非同期で検索します。検索が成功すると Postal.Lookup クラスの onload イベントが、失敗すると onerror イベントが発生します。
var lookup = new Postal.Lookup();
lookup.onload = function() {
alert('onload イベントが発生しました!');
};
lookup.onerror = function() {
alert('onerror イベントが発生しました!');
};
lookup.send('160-0021');
郵便番号の書式をチェックする
郵便番号の書式をチェックするときは Postal.Lookup クラスの send メソッドを使います。send メソッドは、郵便番号の書式に誤りがあるとき、戻り値に false を返します。このときイベントは発生しません。
var lookup = new Postal.Lookup();
lookup.onload = function() {
alert('onload イベントが発生しました!');
};
lookup.onerror = function() {
alert('onerror イベントが発生しました!');
};
if (!lookup.send('foo-bar'))
alert('郵便番号の書式に誤りがあります!');
住所が見つからないとき
検索が成功すると Postal.Lookup クラスの onload イベントが発生します。住所が見つからないときは Postal.Lookup クラスの response プロパティが空の配列になります。
var lookup = new Postal.Lookup();
lookup.onload = function() {
alert('onload イベントが発生しました!');
if (lookup.response.length == 0)
alert('住所が見つかりません!');
};
lookup.onerror = function() {
alert('onerror イベントが発生しました!');
};
lookup.send('160-9999');
住所が見つかったとき
検索が成功すると Postal.Lookup クラスの onload イベントが発生します。住所が見つかったときは Postal.Lookup クラスの response プロパティが住所のオブジェクトの配列になります。
var lookup = new Postal.Lookup();
lookup.onload = function() {
alert('onload イベントが発生しました!');
if (lookup.response.length >= 1)
alert('住所が見つかりました!');
};
lookup.onerror = function() {
alert('onerror イベントが発生しました!');
};
lookup.send('160-0021');
複数の住所が見つかったとき
検索が成功すると Postal.Lookup クラスの onload イベントが発生します。住所が見つかったときは Postal.Lookup クラスの response プロパティが住所のオブジェクトの配列になります。
var lookup = new Postal.Lookup();
lookup.onload = function() {
alert('onload イベントが発生しました!');
for (var i=0; i<lookup.response.length; i++)
alert('住所が見つかりました!');
};
lookup.onerror = function() {
alert('onerror イベントが発生しました!');
};
lookup.send('072-0819');
見つかった住所とフリガナを取得する
Postal.Lookup クラスの response プロパティは、住所のオブジェクトの配列です。見つかった住所とフリガナは、住所のオブジェクトの a プロパティと k プロパティを使って取得します。
var lookup = new Postal.Lookup();
lookup.onload = function() {
alert('onload イベントが発生しました!');
for (var i=0; i<lookup.response.length; i++) {
alert('住所が見つかりました!');
var addr = lookup.response[i];
alert('郵便番号: ' + addr.c);
alert('住所: ' + addr.a);
alert('フリガナ: ' + addr.k);
}
};
lookup.onerror = function() {
alert('onerror イベントが発生しました!');
};
lookup.send('072-0819');
見つかった住所の地方公共団体コードを取得する
Postal.Lookup クラスの response プロパティは、住所のオブジェクトの配列です。見つかった住所の 地方公共団体コード は、住所のオブジェクトの g プロパティを使って取得します。
var lookup = new Postal.Lookup();
lookup.onload = function() {
alert('onload イベントが発生しました!');
for (var i=0; i<lookup.response.length; i++) {
alert('住所が見つかりました!');
var addr = lookup.response[i];
alert('地方公共団体コード: ' + addr.g);
}
};
lookup.onerror = function() {
alert('onerror イベントが発生しました!');
};
lookup.send('160-0021');
見つかった住所の緯度と経度を取得する
Postal.Lookup クラスの response プロパティは、住所のオブジェクトの配列です。見つかった住所の緯度と経度は、住所のオブジェクトの x プロパティと y プロパティを使って取得します。
var lookup = new Postal.Lookup();
lookup.onload = function() {
alert('onload イベントが発生しました!');
for (var i=0; i<lookup.response.length; i++) {
alert('住所が見つかりました!');
var addr = lookup.response[i];
alert('緯度: ' + addr.y);
alert('経度: ' + addr.x);
}
};
lookup.onerror = function() {
alert('onerror イベントが発生しました!');
};
lookup.send('160-0021');
エラーが起きたとき
検索が失敗すると Postal.Lookup クラスの onerror イベントが発生します。
var lookup = new Postal.Lookup({timeout: 1});
lookup.onload = function() {
alert('onload イベントが発生しました!');
};
lookup.onerror = function() {
alert('onerror イベントが発生しました!');
};
lookup.send('160-0021');
エラーの原因を調べる
検索が失敗すると Postal.Lookup クラスの onerror イベントが発生します。エラーの原因は Postal.Lookup クラスの status プロパティと statusText プロパティを使って調べます。
var lookup = new Postal.Lookup({timeout: 1});
lookup.onload = function() {
alert('onload イベントが発生しました!');
};
lookup.onerror = function() {
alert('onerror イベントが発生しました!');
alert('コード: ' + lookup.status);
alert('メッセージ: ' + lookup.statusText);
};
lookup.send('160-0021');
検索を中止する
検索を中止するときは Postal.Lookup クラスの abort メソッドを使います。このときイベントは発生しません。
var lookup = new Postal.Lookup();
lookup.onload = function() {
alert('onload イベントが発生しました!');
};
lookup.onerror = function() {
alert('onerror イベントが発生しました!');
};
lookup.send('160-0021');
lookup.abort();
検索のタイムアウト時間を長くする
検索のタイムアウトを長くするときは Postal.Lookup クラスのコンストラクタを使います。タイムアウトの初期値は30秒です。通常は変更せずそのまま使います。
var lookup = new Postal.Lookup({timeout: 60});
lookup.onload = function() {
alert('onload イベントが発生しました!');
};
lookup.onerror = function() {
alert('onerror イベントが発生しました!');
};
lookup.send('160-0021');
Postal.Coder クラス
住所の単語から郵便番号を検索する
住所の単語から郵便番号を検索するときは Postal.Coder クラスの send メソッドを使います。send メソッドは、指定した住所の単語から郵便番号を非同期で検索します。検索が成功すると Postal.Coder クラスの onload イベントが、失敗すると onerror イベントが発生します。
var coder = new Postal.Coder();
coder.onload = function() {
alert('onload イベントが発生しました!');
};
coder.onerror = function() {
alert('onerror イベントが発生しました!');
};
coder.send('横浜');
住所の単語の書式をチェックする
住所の単語の書式をチェックするときは Postal.Coder クラスの send メソッドを使います。send メソッドは、住所の単語が空(スペースを含む)のとき、戻り値に false を返します。このときイベントは発生しません。
var coder = new Postal.Coder();
coder.onload = function() {
alert('onload イベントが発生しました!');
};
coder.onerror = function() {
alert('onerror イベントが発生しました!');
};
if (!coder.send(' '))
alert('住所の単語が空(スペース含む)です!');
郵便番号が見つからないとき
検索が成功すると Postal.Coder クラスの onload イベントが発生します。郵便番号が見つからないときは Postal.Coder クラスの response プロパティが空の配列になります。
var coder = new Postal.Coder();
coder.onload = function() {
alert('onload イベントが発生しました!');
if (coder.response.length == 0)
alert('郵便番号が見つかりません!');
};
coder.onerror = function() {
alert('onerror イベントが発生しました!');
};
coder.send('北方領土');
郵便番号が見つかったとき
検索が成功すると Postal.Coder クラスの onload イベントが発生します。郵便番号が見つかったときは Postal.Coder クラスの response プロパティが住所のオブジェクトの配列になります。
var coder = new Postal.Coder();
coder.onload = function() {
alert('onload イベントが発生しました!');
if (coder.response.length >= 1)
alert('郵便番号が見つかりました!');
};
coder.onerror = function() {
alert('onerror イベントが発生しました!');
};
coder.send('横浜');
複数の郵便番号が見つかったとき
検索が成功すると Postal.Coder クラスの onload イベントが発生します。郵便番号が見つかったときは Postal.Coder クラスの response プロパティが住所のオブジェクトの配列になります。
var coder = new Postal.Coder();
coder.onload = function() {
alert('onload イベントが発生しました!');
for (var i=0; i<coder.response.length; i++)
alert('郵便番号が見つかりました!');
};
coder.onerror = function() {
alert('onerror イベントが発生しました!');
};
coder.send('道頓堀');
見つかった郵便番号を取得する
Postal.Coder クラスの response プロパティは、住所のオブジェクトの配列です。見つかった郵便番号は、住所のオブジェクトの c プロパティを使って取得します。
var coder = new Postal.Coder();
coder.onload = function() {
alert('onload イベントが発生しました!');
for (var i=0; i<coder.response.length; i++) {
alert('郵便番号が見つかりました!');
var addr = coder.response[i];
alert('郵便番号: ' + addr.c);
}
};
coder.onerror = function() {
alert('onerror イベントが発生しました!');
};
coder.send('五稜郭町');
エラーが起きたとき
検索が失敗すると Postal.Coder クラスの onerror イベントが発生します。
var coder = new Postal.Coder({timeout: 1});
coder.onload = function() {
alert('onload イベントが発生しました!');
};
coder.onerror = function() {
alert('onerror イベントが発生しました!');
};
coder.send('横浜');
エラーの原因を調べる
検索が失敗すると Postal.Coder クラスの onerror イベントが発生します。エラーの原因は Postal.Coder クラスの status プロパティと statusText プロパティを使って調べます。
var coder = new Postal.Coder({timeout: 1});
coder.onload = function() {
alert('onload イベントが発生しました!');
};
coder.onerror = function() {
alert('onerror イベントが発生しました!');
alert('コード: ' + coder.status);
alert('メッセージ: ' + coder.statusText);
};
coder.send('横浜');
検索を中止する
検索を中止するときは Postal.Coder クラスの abort メソッドを使います。このときイベントは発生しません。
var coder = new Postal.Coder();
coder.onload = function() {
alert('onload イベントが発生しました!');
};
coder.onerror = function() {
alert('onerror イベントが発生しました!');
};
coder.send('横浜');
coder.abort();
検索のタイムアウト時間を長くする
検索のタイムアウトを長くするときは Postal.Coder クラスのコンストラクタを使います。タイムアウトの初期値は30秒です。通常は変更せずそのまま使います。
var coder = new Postal.Coder({timeout: 60});
coder.onload = function() {
alert('onload イベントが発生しました!');
};
coder.onerror = function() {
alert('onerror イベントが発生しました!');
};
coder.send('横浜');
