郵便番号検索APIを使って郵便番号から住所を取得する自作関数と、StaticMapクラスを使って住所から地図画像のURLを取得する自作関数を考えてみました。
function getAddress(zip){ var ret = ''; var res = UrlFetchApp.fetch('http://zip.cgis.biz/xml/zip.php?zn=' + zip); var doc = XmlService.parse(res.getContentText()); var address_value = doc.getRootElement().getChildren('ADDRESS_value'); if(address_value.length > 0){ var attr; var ary = new Array(); var items = address_value[0].getChildren('value'); for (var i = 0; i < items.length; i++){ attr = items[i].getAttributes()[0]; ary[attr.getName()] = attr.getValue(); } ret = ary['state'] + ary['city'] + ary['address']; }else{ ret = '住所が見つかりませんでした。'; } return ret; }
function getMapUrl(address){ var url = Maps.newStaticMap() .addAddress(address) .addMarker(address) .setLanguage('ja') .setSize(400, 300) .setMapType(Maps.StaticMap.Type.ROADMAP) .setZoom(20) .getMapUrl(); return url; }
- Class StaticMap
- https://developers.google.com/apps-script/reference/maps/static-map?hl=ja
- Class XmlService
- https://developers.google.com/apps-script/reference/xml-service/xml-service?hl=ja
- Class Element
- https://developers.google.com/apps-script/reference/xml-service/element?hl=ja
- Class Attribute
- https://developers.google.com/apps-script/reference/xml-service/attribute?hl=ja
- IMAGE – ドライブ ヘルプ
- https://support.google.com/drive/answer/3093333?hl=ja
【編集後記】
わざわざ関数化するほどのものでもないのですが、GASの練習ということでコードを書いてみました。
が、動作はあまりに遅く、実用的なものとは言えそうにないです・・・。
この記事へのコメントはありません。