郵便番号から住所補助
郵便番号から住所補助をしてくれるFlexプログラムを作ってみました。
こんな感じ
http://moeten.info/flex/20080812_yuubinTest/bin-release/main.html
入力補助ボタンを押すと住所を補助してくれます。
簡単な説明
まずはこちら。
こちらのURL(http://zip.cgis.biz/xml/zip.php)にzn=[郵便番号]を付加してGETで送信するとxmlで結果が返ってきます。
http://zip.cgis.biz/xml/zip.php?zn=1000006
結果xmlはこんな感じ
<?xml version="1.0" encoding="utf-8" ?> <ZIP_result> <result name="ZipSearchXML" /> <result version="1.01" /> <result request_url="http%3A%2F%2Fzip.cgis.biz%2Fxml%2Fzip.php%3F%26zn%3D1000006" /> <result request_zip_num="1000006" /> <result request_zip_version="none" /> <result result_code="1" /> <result result_zip_num="1000006" /> <result result_zip_version="0" /> <result result_values_count="1" /> <ADDRESS_value> <value state_kana="トウキョウト" /> <value city_kana="チヨダク" /> <value address_kana="ユウラクチョウ" /> <value company_kana="none" /> <value state="東京都" /> <value city="千代田区" /> <value address="有楽町" /> <value company="none" /> </ADDRESS_value> </ZIP_result>
また、Flash特有のクロスドメイン問題があるのでPHPなどでプロキシしてあげます。
http://moeten.info/flex/20080502_twitterAir/myproxy.php?u=http://zip.cgis.biz/xml/zip.php
あと、都道府県のComboBoxの指定方法なんですが、うまくいかなかったので、for文で回して指定しました。
//コンボボックスの指定 tidBox.selectedIndex= getTid( hts.lastResult.ADDRESS_value.value.@state ) ; //都道府県からコンボボックスを指定 //ここなんとか簡単にしたい。selectedItemとかgetItemIndexかなぁ private function getTid(todouhuken:String):int{ for( var i:int = 0; i < tidArr.length ; i ++ ){ if( tidArr[i].label == todouhuken )return i; } return -1; }
ちょびっと便利なAPIの紹介でした。