- Published on
Google Maps APIで駅や場所の2点距離(km)を出力する
- Authors
- Name
- Shou Arisaka / 有坂翔
今回は、Google maps APIを使って、駅や場所の2点距離(km)を出力する方法について紹介します。
Google Maps APIで駅や場所の2点距離(km)を出力する
以下のRubyコードを実行すると、@now_locationから@listに入っている駅や場所の2点距離(km)を出力します。 なお、@listには改行区切りで駅や場所を入れておくと、@listに入っている駅や場所の2点距離(km)を出力するようになっています。
@now_location と @APIKEY は各自で埋めてください。
require 'net/http'
require 'json'
Encoding.default_external = 'UTF-8'
@now_location = "桜上水駅"
if @list
else
@list="
八王子駅
八王子
"
@list=@list.split("\n").compact.reject(&:empty?)
end
until @list.empty?
# puts 1
# @location="八王子"
@location = @list.pop
@APIKEY = ""
url="https://maps.googleapis.com/maps/api/distancematrix/json?origins=#{@now_location}&destinations=#{@location}&mode=walking&language=ja&key=#{@APIKEY}"
uri = URI(URI.encode(url))
response = Net::HTTP.get(uri)
data=JSON.parse(response)
puts @location + ":" + km= data['rows'][0]['elements'][0]['distance']['text'] ;
# puts @location + ":" + km= data['rows'][0]['elements'][0]['duration']['text'] ; # => 電車での時間ではなく、徒歩での時間?なので使えない。
end
出力例(桜上水駅からの距離)
神田駅:14.1 km
府中駅:15.1 km
八王子駅:28.8 km
飯田橋駅:11.8 km
中野駅:5.7 km
新大久保駅:8.2 km
大森駅:13.7 km
四ツ谷駅:10.0 km
まとめ
この記事では、Google Maps APIで駅や場所の2点距離(km)を出力する方法について紹介しました。
今回のプログラムは、例えば以下のような場面等で活用することができます。
- ある駅や場所からの距離を知りたい時
- 駅や場所の2点距離(km)を出力したいとき
- また、駅や場所の2点距離(km)を出力することで、その駅や場所の近くにある駅や場所を知ることができます。
以上です。最後まで読んでいただきありがとうございました。