【问题标题】:Rails parameters error - Implementing Google Maps APIRails 参数错误 - 实现 Google Maps API
【发布时间】:2017-01-27 01:48:17
【问题描述】:

我目前正在使用 Rails 构建一个事件应用程序。我正在为事件显示页面实现 Google Maps Embed API 并收到以下错误 -

“Google Maps API 服务器拒绝了您的请求。请求无效。缺少 'q' 参数。”

我安装了地理编码器 gem,包括纬度和经度。对于我的地址,我使用“位置”列并为此目的使用 jquery.autocomplete。这是我的展示页面代码 -

 <h3>Location</h3>
                <p><%= @event.location %></p>
                <iframe
                        width="600"
                        height="450"
                            frameborder="0" style="border:0"
                    src="https://www.google.com/maps/embed/v1/place?key=<%= ENV["google_maps_api_key"] %>=<%= @event.location %>" allowfullscreen>
                </iframe>

我是否仍需要为我的事件模型中的地址使用特定方法来解决此问题?如果是这样,我该如何表达才能使它起作用?

【问题讨论】:

    标签: ruby-on-rails ruby google-maps ruby-on-rails-4


    【解决方案1】:

    您的谷歌地图 URI 中有一个小错误(根据错误消息),请尝试将其作为 src 属性:

    src="https://www.google.com/maps/embed/v1/place?key=<%= ENV["google_maps_api_key"] %>&q=<%= @event.location %>" allowfullscreen>
    

    【讨论】:

    • 谢谢,我现在收到此错误 - “Google Maps API 服务器拒绝了您的请求。此服务需要 API 密钥。”我的 api 密钥在我的 secrets.yml 文件中 - 我上面的哈希是否出错?
    • 当你使用ENV["google_maps_api_key"] 时,Rails 会寻找一个名为google_maps_api_key 的环境变量,它是nil,因为它没有设置。您可以通过例如Rails.application.secrets.google_maps_api_key 访问您的 secrets.yml 文件中的秘密。这将查找当前 RAILS_ENV 的秘密。
    猜你喜欢
    • 1970-01-01
    • 2016-08-02
    • 2011-06-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-16
    • 2020-09-06
    • 2012-10-12
    相关资源
    最近更新 更多