1

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

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

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

(取自使用 Google-Maps-for-Rails 添加标记

但是,我从来没有让这个工作。如果我将Gmaps4Rails.map对象记录到控制台,它是未定义的。该Gmaps.map对象是 type 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.xx-to-1.xx

4

1 回答 1

0

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

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

这里:

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

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

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

但是从 0.xx 迁移到 1.xx 的所有细节都可以在这里找到(很少)。

于 2011-09-02T15:54:48.510 回答