確かに、郵便番号→住所変換であれば、Google日本語入力API は有効ですね。
- http://kotarok.moo.jp/zip2addr/sample.html
- https://github.com/kotarok/jQuery.zip2addr
- https://www.google.co.jp/ime/cgiapi.html
ただ、これ以外の Google日本語入力API 活用法を思い浮かびません...
以下は、 http://webtech-walker.com/ による zip2address.js の src。 (jsonpの実装方法を忘れたときの為のメモです)
/* * zip2address.js * * Copyright (c) 2010 Kazuhito Hokamura * Licensed under the MIT License: * http://www.opensource.org/licenses/mit-license.php * * @author Kazuhito Hokamura (http://webtech-walker.com/) * @version 0.0.1 * * This script inspired by jQuery.zip2addr. (https://github.com/kotarok/jQuery.zip2addr) * Thank you for kotarok. * */ (function(window) { var d = document; var api_url = '//www.google.com/transliterate?langpair=ja-Hira|ja'; var prefs = [ '北海道', '青森県', '岩手県', '宮城県', '秋田県', '山形県', '福島県', '茨城県', '栃木県', '群馬県', '埼玉県', '千葉県', '東京都', '神奈川県', '新潟県', '富山県', '石川県', '福井県', '山梨県', '長野県', '岐阜県', '静岡県', '愛知県', '三重県', '滋賀県', '京都府', '大阪府', '兵庫県', '奈良県', '和歌山県', '鳥取県', '島根県', '岡山県', '広島県', '山口県', '徳島県', '香川県', '愛媛県', '高知県', '福岡県', '佐賀県', '長崎県', '熊本県', '大分県', '宮崎県', '鹿児島県', '沖縄県' ]; var zip2address = function(zip, callback) { var jsonp_callback = 'zip2address_jsonp' + (new Date()).getTime(); var url = api_url + '&jsonp=' + jsonp_callback; var head = d.getElementsByTagName('head')[0]; var script = d.createElement('script'); // jsonp callback function window[ jsonp_callback ] = function(data) { var address = {}; address.all = data[0][1][0]; // check match pref for (var i = 0, l = prefs.length; i < l; i++) { var pref = prefs[i]; if (address.all.indexOf(pref) === 0) { address.pref = pref; address.city = address.all.replace(pref, ''); break; } } // no match address if (!address.pref && !address.city) { address = undefined; } // callback function callback(address); // cleaning try { delete window[ jsonp_callback ]; } catch (e) {} head.removeChild(script); }; // check zip formtting if (/^\d{7}$/.test(zip)) { zip = zip.toString().replace(/(\d{3})(\d{4})/, '$1-$2'); } else if (!/^\d{3}-\d{4}$/.test(zip)) { callback(undefined); } // call api by jsonp url += '&text=' + encodeURIComponent(zip); script.setAttribute('src', url); head.appendChild(script); }; // export function window.zip2address = zip2address; })(window);