我正在使用Google Maps / Places javascript API自动完成输入框中的位置。我正在尝试限制自动完成返回的地点类型。我对coffeescript(以及一般的编码)很新,但由于我在这里有代码片段,我想看看是否有人可以在此代码中看到任何可能导致Google调用不考虑地点“类型”的内容过滤。请注意,“餐馆”仅用作测试(不成功)。
我在这里阅读了其他几个问题,其中包括: How can I restrict the Google Maps Places Library's Autocomplete to suggestions of only one city's places? How to limit google autocomplete results to City and Country only
不幸的是,看起来我使用的语法是正确的,这就是我问这个问题的原因,因为无论我使用哪种“类型”,自动完成结果都不会改变。
感谢您的帮助。
# autocomplete callback
autocomplete_options = {
types: ['restaurants'] # geocode, establishment, (regions), (cities)
}
autocomplete = new google.maps.places.Autocomplete(document.getElementById 'locationSearchField', autocomplete_options)
google.maps.event.addListener autocomplete, 'place_changed', ->
place = autocomplete.getPlace()
答案 0 :(得分:2)
这个结构:
f(g x, y)
的解释如下:
f(g(x, y))
这意味着autocomplete_options
在这里:
autocomplete = new google.maps.places.Autocomplete(document.getElementById 'locationSearchField', autocomplete_options)
被视为document.getElementById
的参数,google.maps.places.Autocomplete
永远不会看到它。如果你添加括号:
autocomplete = new google.maps.places.Autocomplete(document.getElementById('locationSearchField'), autocomplete_options)
// -----------------------------------------------------------------------^---------------------^
然后每个人都应该得到你期望他们的论据。