11
15

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Google Map API で経路情報を取得する.

Posted at

##APIとは

Application Programming Interfaceの略称で、「プログラムからソフトウェアを操作するためのインターフェイス」のことです。

メリットとしては,APIを使うとGoogle側が誰がGoogleのサーバーにアクセスしていて,Googleの地図を使っているのか正確に把握できるという利点があります.

利用者としても,正式に企業が鍵を発行しますので利用していいですよとしてくれているわけですから,APIを利用して提供したサービスが大ヒットして,Googleのサーバーに大きな負担がかかって,他の利用者に影響が出たとしても全く訴えられる心配もなく安全に利用できるというメリットがあります.

##Google Map Direction APIとは
https://cloud.google.com/maps-platform/routes/
スクリーンショット 2019-01-30 17.09.34.png

APIの種類にもいくつかあります.

  1. Google Map Direction API
    目的地までの経路と時間を教えてくれます

似たようなところですと.

距離と時間を知りたい場合
2. Google Map Distance Matrix API

地図を使いたい場合
3. Google Maps JavaScript API

などがあります.

##APIを取得しよう

「使ってみる」ボタン を押すとポップアップが表示されます.ここで「ルート」にチェックを入れ,「続行」します.

スクリーンショット 2019-01-31 9.13.07.png

Google Map Platform は基本的にサブスクリプションモデルで使った分だけお支払いという形なので,まずはクレジットカードを登録しましょう.

安心してください!月に10万アクセス(静的マップの読み込み)までは無料で利用できるので通常の利用であれば,無料の範囲に収まると思われます.

##APIをたたいてみよう.

originに出発地
destinationに到着地
YOUR_API_KEY に先程発行したAPIを入力するとURLの完成です.

https://maps.googleapis.com/maps/api/directions/json?origin=東京都庁&destination=東京タワー&key=YOUR_API_KEY

このURLをブラウザに貼り付けてENTERを押すと,結果がJSON形式で返ってきます.

以下のような結果が帰ってくれば成功です!(かなり長いので,途中でデータをカットしています.)

{
   "geocoded_waypoints" : [
      {
         "geocoder_status" : "OK",
         "place_id" : "ChIJoTcat9SMGGAR6GGG8zdcZvE",
         "types" : [
            "city_hall",
            "establishment",
            "local_government_office",
            "point_of_interest"
         ]
      },
      {
         "geocoder_status" : "OK",
         "place_id" : "ChIJCewJkL2LGGAR3Qmk0vCTGkg",
         "types" : [ "establishment", "point_of_interest", "premise" ]
      }
   ],
   "routes" : [
      {
         "bounds" : {
            "northeast" : {
               "lat" : 35.6921694,
               "lng" : 139.7493249
            },
            "southwest" : {
               "lat" : 35.6589794,
               "lng" : 139.6903981
            }
         },
         "copyrights" : "地図データ ©2019 Google, ZENRIN",
         "legs" : [
            {
               "distance" : {
                  "text" : "10.3 km",
                  "value" : 10259
               },
               "duration" : {
                  "text" : "18分",
                  "value" : 1077
               },
               "end_address" : "日本、〒105-0011 東京都港区芝公園4丁目2−8",
               "end_location" : {
                  "lat" : 35.6589794,
                  "lng" : 139.7457339
               },
               "start_address" : "日本、〒163-8001 東京都新宿区西新宿2丁目8−1",
               "start_location" : {
                  "lat" : 35.6896684,
                  "lng" : 139.6923063
               },
               "steps" : [
                  {
                     "distance" : {
                        "text" : "0.3 km",
                        "value" : 284
                     },
                     "duration" : {
                        "text" : "1分",
                        "value" : 61
                     },
                     "end_location" : {
                        "lat" : 35.6921694,
                        "lng" : 139.6916818
                     },
                     "html_instructions" : "\u003cb\u003e北\u003c/b\u003eに進む",
                     "polyline" : {
                        "points" : "msyxE}srsYqF|@a@HuBZI?ODoAR"
                     },
                     "start_location" : {
                        "lat" : 35.6896684,
                        "lng" : 139.6923063
                     },
                     "travel_mode" : "DRIVING"
                  },

11
15
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
11
15

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?