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('横浜');