Kyohei Blog
GASで遊んでみる話
Kyohei Blog

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

← Back to home