javascript 郵便番号から住所取得(GooglAPI+ajax())のソース
作成日:2018-03-02, 更新日:2019-01-28
2019-01-28時点
APIのキーが必要。
Google APIsからキーを取得し、設定が必要。
▼有効にするライブラリ
・Google Maps Geocodeing API
サンプル
var zipCode = '000-0000'; $.ajax({ type : 'get', url : 'https://maps.googleapis.com/maps/api/geocode/json', crossDomain : true, dataType : 'json', data : { key : '〇〇〇〇〇〇〇〇〇〇〇〇', address : zipCode, language : 'ja', sensor : false }, success : function(resp){ if(resp.status == "OK"){ // APIのレスポンスから住所情報を取得 var obj = resp.results[0].address_components; if (obj.length < 5) { alert('正しい郵便番号を入力してください'); return false; } if ( obj.length == 6 ) { // obj[5]['long_name'] // 国 // obj[4]['long_name'] // 都道府県 // obj[3]['long_name'] // 市区町村 // obj[2]['long_name'] + obj[1]['long_name'] // 残りの部分 } else if ( obj.length == 5 ) { // obj[4]['long_name'] // 国 // obj[3]['long_name'] // 都道府県 // obj[2]['long_name'] // 市区町村 // obj[1]['long_name'] // 残りの部分 } } else{ alert('住所情報が取得できませんでした'); return false; } } });
キーが不要だったとき
var zipCode = '000-0000'; $.ajax({ type : 'get', url : 'https://maps.googleapis.com/maps/api/geocode/json', crossDomain : true, dataType : 'json', data : { address : zipCode, language : 'ja', sensor : false }, success : function(resp){ if(resp.status == "OK"){ // APIのレスポンスから住所情報を取得 var obj = resp.results[0].address_components; if (obj.length < 5) { alert('正しい郵便番号を入力してください'); return false; } if ( obj.length == 6 ) { // obj[5]['long_name'] // 国 // obj[4]['long_name'] // 都道府県 // obj[3]['long_name'] // 市区町村 // obj[2]['long_name'] + obj[1]['long_name'] // 残りの部分 } else if ( obj.length == 5 ) { // obj[4]['long_name'] // 国 // obj[3]['long_name'] // 都道府県 // obj[2]['long_name'] // 市区町村 // obj[1]['long_name'] // 残りの部分 } } else{ alert('住所情報が取得できませんでした'); return false; } } });