javascript - Gmaps4Rails - 自定义信息窗口不工作

标签 javascript ruby-on-rails google-maps gmaps4rails

我在使用 Google Maps 4 Rails gem 实现自定义信息框时遇到问题。 我已将信息框插件添加到页面顶部并尝试了文档中的代码片段,但仍然没有自定义信息框或信息框窗口上的“黄色”类。

如何将自定义信息框的选项传递给以下生成的标记?

:javascript
 handler = Gmaps.build('Google');
 handler.buildMap({ provider: {
   }, internal: {id: 'map'}}, function(){
   markers = handler.addMarkers(#{raw @hash.to_json},{builders: {Marker: InfoBoxBuilder}});
   handler.bounds.extendWith(markers);
   handler.fitMapToBounds();
   handler.getMap().setZoom(9);
  });    

我还在 infowindow.js.coffee 中添加了以下代码

class InfoBoxBuilder extends Gmaps.Google.Builders.Marker # inherit from base builder

# override method
create_infowindow: ->
  return null unless _.isString @args.infowindow
  boxText = document.createElement("div")
  boxText.setAttribute("class", 'yellow') #to customize
  boxText.innerHTML = @args.infowindow
  @infowindow = new InfoBox(@infobox(boxText))

infobox: (boxText)->
  content: boxText
  pixelOffset: new google.maps.Size(-140, 0)
  boxStyle:
  width: "280px"

handler = Gmaps.build 'Google', { builders: { Marker: InfoBoxBuilder} }

任何帮助将不胜感激。谢谢。

最佳答案

你误读了文档,替换:

:javascript
 handler = Gmaps.build('Google');
 handler.buildMap({ provider: {
   }, internal: {id: 'map'}}, function(){
   markers = handler.addMarkers(#{raw @hash.to_json},{builders: {Marker: InfoBoxBuilder}});
   handler.bounds.extendWith(markers);
   handler.fitMapToBounds();
   handler.getMap().setZoom(9);
  }); 

与:

:javascript
  var handler = Gmaps.build('Google', { builders: { Marker: InfoBoxBuilder} });
  handler.buildMap({ internal: {id: 'map'}}, function(){
    var markers = handler.addMarkers(#{raw @hash.to_json});
    handler.bounds.extendWith(markers);
    handler.fitMapToBounds();
    handler.getMap().setZoom(9);
  }); 

并且 class InfoBoxBuilder 应该是 class @InfoBoxBuilder 才能在 window 对象上访问

基本上在 gem 的文档中, map 创建定义在与 InfoBoxBuilder 类相同的文件中。您没有这样做:您在窗口中创建处理程序。

关于javascript - Gmaps4Rails - 自定义信息窗口不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25849028/

相关文章:

javascript - 缺少必需参数 - public_id,以及为 Cloudinary 分配给 imageId 的内容

ruby-on-rails - 在热切加载关联上指定条件后无法获取对象

ruby-on-rails - 通过 SHA1 而不是 id 的 Rails 关联

javascript - 如何使用 Javascript 在 Google Map v3 中使用 GTFS feed?

Javascript onKeyUp

javascript - 如何调用包含在 PHP 文件或 Javascript 文件中的 'conscruct of functions'?

javascript - 从一年中的某一天获取完整日期

ruby-on-rails - Bootstrap 下拉列表在第一次点击后仍然不起作用(link_to 版本)

javascript - 用于网络应用程序的 Google 评论小部件 |使用 google place api 撰写 google 评论

javascript - 谷歌地图街景并不总是加载 - 如何让它优雅地失败