我使用哈希来生成URL时使用的参数。我有这样的事情:
params = {
:center => Geocoder.coordinates(currentlocation).join(","),
:zoom => 10,
:size => "460x280",
:markers => Geocoder.coordinates(markerlocation).join(","),
:sensor => true,
:key => ENV["GOOGLE_API_KEY"]
}
query_string = params.map{|k,v| "#{k}=#{v}"}.join("&")
image_tag "https://maps.googleapis.com/maps/api/staticmap?#{query_string}", :alt => location
但是我需要有多个"标记" URL中的参数。对于我生成的每个网址,我都不知道有多少"标记"我需要的参数。例如,如果我有一个数组markerlocations
,我将需要为数组的每个成员创建一个:markers
键值对,以便在URL中使用。实现这一目标的最佳方法是什么?
答案 0 :(得分:1)
require 'net/http'
params = {
:center => Geocoder.coordinates(currentlocation).join(","),
:zoom => 10,
:size => "460x280",
:markers => [Geocoder.coordinates(markerlocation).join(",")],
:sensor => true,
:key => ENV["GOOGLE_API_KEY"]
}
query_string = URI.encode_www_form(params)
image_tag ...