Google Maps / Places Javascript API自动填充限制类型

时间:2013-10-04 16:47:19

标签: google-maps-api-3 autocomplete coffeescript google-places-api

我正在使用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()

1 个答案:

答案 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)
// -----------------------------------------------------------------------^---------------------^
然后每个人都应该得到你期望他们的论据。