- Published on
Ruby + Google Maps API 現在地から目的地までの距離を調べる
- Authors
- Name
- Shou Arisaka / 有坂翔
この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'の部分)を提供してリクエストを行う必要があります。