我的地图处理程序是
map_handler = Gmaps.build('Google', { markers: { maxRandomDistance: null }, builders: { Marker: InfoBoxBuilder} });
我已添加到我的布局中:
<script src='//google-maps-utility-library-v3.googlecode.com/svn/tags/infobox/1.1.9/src/infobox_packed.js' type='text/javascript'></script>
并且我已经使用此覆盖在我的资产中添加了一个文件infoboxbuilder.js.cofee:
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))
@bind_infowindow()
infobox: (boxText)->
content: boxText
pixelOffset: new google.maps.Size(-140, 0)
boxStyle:
width: "280px"
但是当我加载网站时,我得到了这个没有地图的javascript错误:
ReferenceError: InfoBoxBuilder is not defined
答案 0 :(得分:2)
刚刚意识到你的错误
替换
class InfoBoxBuilder
使用
class @InfoBoxBuilder
fyi,@
告诉coffeescript将对象附加到窗口对象。