Приношу свои извинения за название темы, но мне кажется, что я нашел относительно простую для повторения ошибку, при которой щелчок и перетаскивание карты в определенной точке многоугольника переводит карту в состояние «перетаскивания мышью вниз», т. е. трудно выбраться.
Проще показать эту проблему. Как воссоздать:
- Убедитесь, что полигон недоступен для редактирования (нет маркеров точек на вершинах)
- Переместите курсор в любую вершину, где вершина будет отображаться при щелчке (проще всего воспроизвести правый верхний угол), убедитесь, что он имеет указатель с одним пальцем.
- Нажмите и перетащите мышь, как будто вы прокручиваете другую область на карте, отпустите кнопку мыши.
- Теперь вы застряли, как будто ваша мышь все еще нажата, перемещая карту по центру вершины, единственный способ выйти из этого — прокрутить колесико мыши.
Я не уверен, является ли это ошибкой 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);