pix*_*eak 7 google-maps google-maps-api-3
有没有办法在谷歌地图V3上禁用拖曳惯性?看起来它应该是一个MapOption,但我找不到任何方法来做到这一点.
我今天遇到了同样的问题,一些自定义 Div 漂浮在地图上方,需要在地图移动上重新定位。只要用户在拖动后完全停止然后松开鼠标(因此不会有动量),我的重新定位就可以正常工作,但如果只是快速拖动并释放 div,最终会有点偏离。
为了解决这个问题,我连接了拖动事件和空闲事件:
var map = /* All the map config */
var stickyCenter = map.getCenter();
/* ... Code ... */
google.maps.event.addListener(map, 'drag', function(){ stickyCenter = map.getCenter(); });
google.maps.event.addListener(map, 'idle', function() { map.setCenter(stickyCenter); });
Run Code Online (Sandbox Code Playgroud)
发生的情况是,在您拖动并且地图停止后(动量完成后),地图“捕捉”回原位。
如果捕捉太突然,人们可能会以某种方式平移或设置动画。希望这会有所帮助,它并不完美,但它是扭转阻力事件势头的一种方法。
使用未记录的选项,disablePanMomentum 例如:
new google.maps.Map(document.getElementById(id), {
disablePanMomentum: true,
backgroundColor: 'none',
disableDefaultUI: true,
center: {
lat: 40.674,
lng: -73.945
},
zoom: 2,
...
Run Code Online (Sandbox Code Playgroud)