Я столкнулся с этой же проблемой сегодня, когда некоторые пользовательские элементы Div перемещаются над картой, и их необходимо переместить в Map Movement.Мое изменение положения работало нормально до тех пор, пока пользователь полностью остановился после перетаскивания, прежде чем отпустить мышь (чтобы не было импульса), но если бы он просто перетащил бы быстро и отпустил 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); });
Что происходит, когда вы перетаскиваете карту и останавливаетесь (после того, как импульс сделан) карта «защелкивается» обратно на место.
Если щелчок слишком внезапный, возможно, можно было бы панорамировать или каким-то образом оживить движение.Надеюсь, это поможет, это не идеально, но это способ обратить импульс от события перетаскивания.