为什么geocomplete不会触发bounds_changed事件?

时间:2014-04-14 12:18:41

标签: jquery google-maps google-maps-api-3 geolocation geocomplete

我有一张谷歌地图占据了整个屏幕尺寸。有一个顶部栏,其中包含地理填充文本字段,因此我可以输入地名并将地图移动到该位置。但问题是它无法触发bounds_changed事件。

第二个问题是,当地图首次加载时,我无法拖动它(手形图标不会出现)。只有在我使用geocomplete字段移动到其他地方后,我才能拖动地图。以下是我使用的相关代码段。

$(document).ready ->
 google.maps.event.addListener window.map, "bounds_changed", ->
   // Here I fire an ajax request to retrieve some data and display it in a custom overlay.
 if navigator.geolocation
navigator.geolocation.getCurrentPosition(set_user_location,error, { 'enableHighAccuracy' : 'true' })
  set_user_location = (position) ->
mapOptions =
  center: new google.maps.LatLng(position.coords.latitude, position.coords.longitude)
  zoom: 14
window.map = new google.maps.Map(document.getElementById("map-canvas"), mapOptions)
$('.countries-dropdown').geocomplete
  map: '#map-canvas'
  mapOptions: { scrollwheel: true }
  bounds: true
.bind 'geocode:result', (event,result) ->
  console.log 'result'
  console.log result
.bind 'geocode:error', (event,result) ->
  console.log 'error'

如果上述信息不充分,请发表评论。感谢。

1 个答案:

答案 0 :(得分:0)

没关系。我自己修复了这个bug。只需要给window.map对象代替选择器。也就是说,而不是这个

$('.countries-dropdown').geocomplete
map: '#map-canvas'

使用了这个

$('.countries-dropdown').geocomplete
map: window.map