0

我有一个占据整个屏幕大小的谷歌地图。有一个带有地理完整文本字段的顶部栏,以便我可以输入地名并且地图会移动到那个地方。但是,问题在于它无法触发 bounds_changed 事件。

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

$(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'

如果以上信息不够,请发表评论。谢谢。

4

1 回答 1

0

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

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

用了这个

$('.countries-dropdown').geocomplete
map: window.map
于 2014-04-20T10:32:26.663 回答