【问题标题】:Accessing the Google map object via Gmaps4Rails API通过 Gmaps4Rails API 访问 Google 地图对象
【发布时间】:2011-09-02 15:30:17
【问题描述】:

我成功地使用 GMaps4Rails 来渲染来自 Rails/Mongoid/Spacial 模型的标记,而且我通常发现 GMaps4Rails 非常酷。

然而,有一件事一直在我的脑海中挥之不去(尽管我让它工作正常):在所有示例和答案中,我都看到了通过 Gmaps4Rails.map 访问的 Google 地图对象,例如

google.maps.event.addListener(Gmaps4Rails.map, 'click', function(object){ 
  alert(object.latLng);
});

(取自add marker with Google-Maps-for-Rails

但是,我从来没有让这个工作。如果我将 Gmaps4Rails.map 对象记录到控制台,它是未定义的。 Gmaps.map 对象的类型是 Gmaps4RailsGoogle,所以要获取实际的 Google 地图,我需要编写例如

google.maps.event.addListener(Gmaps.map.map, 'click', ...)

我正在通过

实例化地图
 = gmaps(:map_options => {"detect_location" => true, "center_on_user" => true, 
   "zoom" => 12})

任何提示都将不胜感激,因为我有一种唠叨的感觉,我做错了什么。

更新:我应该读过https://github.com/apneadiving/Google-Maps-for-Rails/wiki/From-0.x.x-to-1.x.x

【问题讨论】:

    标签: ruby-on-rails gmaps4rails


    【解决方案1】:

    我在这里看不到任何问题:)

    自从我的 1.0.0 版本发布以来,有些事情发生了变化,所以是的,您会发现过时的迹象。但是您已经使用Gmaps.map.map 找到了答案。

    这里:

    • Gmaps 是一个命名空间,其中包含您可以在页面上创建的所有地图

    • 所有地图容器都是通过id找到的,默认id是map(我喜欢简短的表达方式)

    • 要从地图容器中获取地图对象,您需要附加另一个.map(这有点烦人,但我保留了它以避免用户生气)

    但是从 0.x.x 迁移到 1.x.x 的所有细节都可以be found here(很少)。

    【讨论】:

    • 啊,所以流行的基于 intertubes 的文档是错误的,我实际上是在正确的轨道上 :) 非常感谢 apneadiving 让我睡得更好。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-29
    • 2020-11-30
    • 2021-04-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多