GASで遊んでみる話
この記事を読んでほしい人
- Google App Scriptの活用方法を知りたい
- スプレッドシートを少し便利に使いたい
Google App Scriptとは?
Google App Scriptは通称GAS(ガス)と呼ばれ、Googleが提供しているプログラミング言語です。JavaScriptというWebブラウザ上で動作するプログラミング言語をベースに作成されています。
GASでできると
- フォームに回答があったらメールで通知(フォーム×Gmail)
- スプレッドシートに記入してある住所をGoogleマップのURLに変換する(スプレッドシート×Google マップ)
- スプレッドシートが編集されたら内容をドキュメントに出力(スプレッドシート×ドキュメント)
今回やってみたこと
今回はGASを使ってスプレッドシートに住所を入力するとGoogle Mapから予測時間を割り出すというものを作ります。
コードは以下の通り
function mapQuery(src, dest, type, result) {
//typeをスプレッドシート内に入力するとその値を使える
var finder = Maps.newDirectionFinder()
.setOrigin(src)
.setDestination(dest)
.setLanguage("ja")//日本語
if (type=="highway"){
finder = finder
.setMode(Maps.DirectionFinder.Mode.DRIVING);
} else if (type=="toll"){
finder = finder
.setMode(Maps.DirectionFinder.Mode.DRIVING)
.setAvoid(Maps.DirectionFinder.Avoid.HIGHWAYS);
} else if (type=="drive"){
finder = finder
.setMode(Maps.DirectionFinder.Mode.DRIVING)
.setAvoid(Maps.DirectionFinder.Avoid.TOLLS);
} else if (type=="transit"){
finder = finder
.setMode(Maps.DirectionFinder.Mode.TRANSIT);
} else if (type=="bicycle"){
finder = finder
.setMode(Maps.DirectionFinder.Mode.BICYCLING);
} else if (type=="walk"){
finder = finder
.setMode(Maps.DirectionFinder.Mode.WALKING);
}
var route = finder.getDirections().routes[0];
var value = route.legs[0];
if (result=="distance"){
value = value.distance.value/1000; //kilometer
} else if (result=="duration"){
value = value.duration.value/60; //minutes
}
return value;
}