2023-03-16

飛行日誌・入力簡易ツール iphone用に、今回のスクリプトを組み込んでみた。

 ASAKICHIさんがYouTubeで公開されている、飛行日誌・入力簡易ツールを見つけました。
これはiphone用でAndriodには使えません。

ただし、今まで調べていたGASのスクリプトを組み込めば使えるのではと思いやってみました。

飛行日誌・入力簡易ツールの概要欄でスプレッドシートをコピーします。

スクリプトに次のコードを貼り付けます。

function doGet() {
  var template = HtmlService.createTemplateFromFile('Page');
  template.action = "addData";
  return template.evaluate();
}

function addData(latitudelongitudetimestamp,drone) {
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('シート1');
  
  // 緯度、経度から住所を取得
  // 住所を漢字に変換
  var geocoder = Maps.newGeocoder();
  var response = geocoder.reverseGeocode(latitudelongitude); // 緯度、経度から情報を取得
  var formatted_address = response.results[0].formatted_address;
  // いろいろな情報が得られるので、そのうちのインデクス0 の formatted_address の情報を取得

  var data = [timestamp,formatted_address,drone];
  // データに住所を追加
  sheet.appendRow(data);

 }


続けてAppScriptの画面でファイルを追加(HTML)しPageという名前にします。

以下のコードを貼り付けます。

<!DOCTYPE html>
<html>
  <head>
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <base target="_top">
    <style>
      body {
        font-family: Arialsans-serif;
        margin: 0;
        padding: 0;
      }
      select {
        font-size: 16px;
        padding: 8px;
        width: 100%;
        margin-bottom: 16px;
      }
      button {
        font-size: 16px;
        padding: 8px;
        background-color: #4CAF50;
        color: white;
        border: none;
        border-radius: 4px;
        cursor: pointer;
      }
      button:hover {
        background-color: #3e8e41;
      }
    </style>
  </head>
  <body>
    
    <select id="mySelect">
      <option value="機体名称1">機体名称1</option>
      <option value="機体名称2">機体名称2</option>
      <option value="機体名称3">機体名称3</option>
    </select>
    
    <button onclick="getLocation()">位置情報を取得</button>
    
    <script>

      function getLocation() {
        if (navigator.geolocation) {
          navigator.geolocation.getCurrentPosition(showPosition);
        } else {
          alert("Geolocation is not supported by this browser.");
        }
      }

      function showPosition(position) {
        var selectedOption = document.getElementById("mySelect").value;
        google.script.run.addData(position.coords.latitudeposition.coords.longitudenew Date().toLocaleString(), selectedOption);
      }
      
    </script>

  </body>
</html>

デプロイボタンを押してウェブアプリとしてデプロイ(公開)します。

簡単には以上のような流れですけど、デプロイが曲者でかなり苦労しました。

詳細は次回アップしたいと思っています。 

 

0 件のコメント: