У меня проблема в моей игре GeoPuzzle , когда пользователь перетаскивает многоугольник в нужное место и сразу же снова перетаскивает. В это время сервер отправляет правильный полигон, который заменяет тот, который находится в руках пользователя. После этого ни один многоугольник не может быть перетаскиваемым.
Я готовлю демо jsfiddle - http://jsfiddle.net/TyVik/4mtyu/11807/.
var handler = bermudaTriangle.addListener('dragend', function() {
console.log('123');
setTimeout(function() {
// simulate server response
bermudaTriangle.setDraggable(false);
google.maps.event.clearInstanceListeners(bermudaTriangle);
bermudaTriangle.setMap(null);
}, 1000);
});
Оба полигона можно перетаскивать, но если я удаляю красный многоугольник во время процесса перетаскивания - я не могу перетащить зеленый многоугольник. Шаг для воспроизведения:
- просто чтобы быть уверенным - перетащите зеленый многоугольник
- перетаскивание красного многоугольника
- немедленно перетащите, но не бросьте красный многоугольник
- подождите 1 секунду - красный многоугольник будет удален
- Я не могу перетащить зеленый многоугольник.
Как я могу завершить процесс перетаскивания через javascript для правильного закрытия всех дескрипторов перед уничтожением многоугольника?