Google Maps API (ошибка?) - Mousedown зависает, когда начинается перетаскивание карты рукой в ​​точке многоугольника, которую можно редактировать

Приношу свои извинения за название темы, но мне кажется, что я нашел относительно простую для повторения ошибку, при которой щелчок и перетаскивание карты в определенной точке многоугольника переводит карту в состояние «перетаскивания мышью вниз», т. е. трудно выбраться.

Проще показать эту проблему. Как воссоздать:

http://jsfiddle.net/un0a0ua5/

  1. Убедитесь, что полигон недоступен для редактирования (нет маркеров точек на вершинах)
  2. Переместите курсор в любую вершину, где вершина будет отображаться при щелчке (проще всего воспроизвести правый верхний угол), убедитесь, что он имеет указатель с одним пальцем.
  3. Нажмите и перетащите мышь, как будто вы прокручиваете другую область на карте, отпустите кнопку мыши.
  4. Теперь вы застряли, как будто ваша мышь все еще нажата, перемещая карту по центру вершины, единственный способ выйти из этого — прокрутить колесико мыши.

Я не уверен, является ли это ошибкой Google Maps, или я должен иметь возможность вручную запускать событие «mouseup» на карте, чтобы снять удержание.

Мне удалось воспроизвести это в Chrome и Firefox в Ubuntu и Chrome в Windows. Я могу предоставить более подробную информацию, если это необходимо.

Есть предположения?

Воспроизводится из:

var map = new google.maps.Map(document.getElementById("map_div"), {
    center: new google.maps.LatLng(33.808678, -117.918921),
    zoom: 14,
});

var new_poly = new google.maps.Polygon({
  paths: [{lat: 33.808678, lng: -117.916921}, {lat: 33.818678, lng:-117.914921}, {lat: 33.801678, lng:-117.928921}],
  strokeColor: '#000000',
  fillColor: '#000000'});

google.maps.event.addListener(new_poly, 'mousedown', function() {
    console.log('POLYGON->MOUSE_DOWN');
    new_poly.setOptions({editable:true});
});

new_poly.setMap(map);

person user1030489    schedule 27.09.2017    source источник


Ответы (1)


Изменение события на «mouseup» решает проблему, но это все равно похоже на ошибку Google Maps API v3.

person user1030489    schedule 28.09.2017