我有一张谷歌地图占据了整个屏幕尺寸。有一个顶部栏,其中包含地理填充文本字段,因此我可以输入地名并将地图移动到该位置。但问题是它无法触发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'
如果上述信息不充分,请发表评论。感谢。
答案 0 :(得分:0)
没关系。我自己修复了这个bug。只需要给window.map对象代替选择器。也就是说,而不是这个
$('.countries-dropdown').geocomplete
map: '#map-canvas'
使用了这个
$('.countries-dropdown').geocomplete
map: window.map