2

我正在使用 Google Maps/Places javascript API 来自动完成输入框中的位置。我正在尝试限制自动完成返回的地点类型。我对coffeescript(以及一般的编码)非常陌生,但是由于我在这里有代码片段,我想看看是否有人可以在此代码中看到任何可能导致对Google的调用不考虑地点“类型”的内容筛选。请注意,“restaurants”只是用作测试(不成功的测试)。

我在这里阅读了其他几个问题,其中包括: 如何将 Google Maps Places Library 的自动完成功能限制为仅推荐一个城市的地点? 如何将谷歌自动完成结果仅限于城市和国家

不幸的是,看起来我使用的语法是正确的,这就是我问这个问题的原因,因为无论我使用哪种“类型”,自动完成结果都不会改变。

谢谢你的帮助。

# 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()
4

1 回答 1

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)
// -----------------------------------------------------------------------^---------------------^

那么每个人都应该得到你期望他们得到的论点。

于 2013-10-04T17:28:45.223 回答