logo
Published on

Ruby + Google Maps API 現在地から目的地までの距離を調べる

Authors

このRubyプログラムは、Google Maps Distance Matrix APIを使用して、2つの場所間の距離情報を取得し、それを表示するものです。以下はプログラムのステップバイステップの説明です。

Encoding.default_external = 'UTF-8'
require 'json'
require 'open-uri'

# Google Maps Distance Matrix APIを使用して、2つの場所間の距離情報を取得します。

# 以下の2つの変数にそれぞれ出発地点と到着地点を設定します。
@here = '東京'
@dist = '大阪'

# APIリクエストのURLを構築します。URLには出発地点(@here)、到着地点(@dist)、移動モード(ここではwalking=徒歩)、言語(ja=日本語)、およびAPIキーが含まれています。
url = "https://maps.googleapis.com/maps/api/distancematrix/json?origins=#{@here}&destinations=#{@dist}&mode=walking&language=ja&key=YOUR_API"

# URLをエンコードし、open-uriを使用してAPIにリクエストを送信し、その結果をJSONとして読み込みます。
puts @obj = JSON.load(open(URI.encode(url))

# JSONレスポンスから必要な情報を取得します。

# 目的地の住所を取得
@destination_addresses = @obj['destination_addresses'][0]

# 出発地の住所を取得
@origin_addresses = @obj['origin_addresses'][0]

# 距離情報(テキスト形式)を取得
@km = @obj['rows'][0]['elements'][0]['distance']['text']

# 結果を表示
puts "現在地"
puts @here, @origin_addresses
puts "目的地"
puts @dist, @destination_addresses
puts "距離"
puts @km

このプログラムは、出発地点(@here)と到着地点(@dist)を指定し、Google Maps Distance Matrix APIを使用してそれらの場所間の距離情報を取得します。APIからの応答はJSON形式であり、それをパースして必要な情報を取り出し、最終的に出発地点、到着地点、および距離を表示します。 Google Maps Distance Matrix APIの詳細については、APIキー('YOUR_API'の部分)を提供してリクエストを行う必要があります。