LoginSignup
3
2

LINEで位置情報を送信する際はAPIなどは使わずURLスキームにて送信することができます。
https://line.me/R/nv/location/
上記のアドレスをLINEのリッチメニューやメッセージに入れ、
LINEアプリ内でアドレスをタップするだけで、位置情報が送信できる地図が立ち上がります。

受信側ではどのように受信したらよいのか、、、
ということで、GASで作成してみました。

GAS
function doPost(request) {
  var SS = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = SS.getSheetByName("map");
  var receiveJSON = JSON.parse(request.postData.contents);
  var event = receiveJSON.events[0];

  var latitude = event.message.latitude;
  var longitude = event.message.longitude;
  var address = event.message.address;
  var mapplot = "https://www.google.com/maps?q=" + latitude + "," + longitude;
  
  sheet.appendRow([latitude, longitude,address,mapplot]);

}

mapplotはGoogleMAPのリンクを記載してくれるようにしております。

これでLINEから位置情報を送信し
webhookを受信すると

json
{
  "mode": "active",
  "timestamp": 1.718031718436E12,
  "webhookEventId": "01J01AQ6GMER4VXTD0YM*******",
  "source": {
    "type": "user",
    "userId": "U531f676aa92b456bde7de*******"
  },
  "type": "message",
  "deliveryContext": {
    "isRedelivery": false
  },
  "replyToken": "ca5c1ccbcafb4e2386bbb543*******",
  "message": {
    "type": "location",
    "id": 512041327501246963,
    "longitude": 135.496570430696,
    "address": "日本、〒530-0001 大阪府大阪市北区梅田3丁目1−1 大阪ターミナルビル(サウスゲートビルディング)",
    "latitude": 34.7020546166979
  }
}


のように、緯度経度だけでなく、住所も送信してくれています。

地図を使ったWEBアプリなど作成の際にご利用ください!

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2