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;
}
}
});