Im с использованием пользовательских элементов управления с google maps api v3. Поиск по всему Интернету и чтение документов для Api v3.Карты Google: использование пользовательских кнопок
Но я застрял в кнопке, чтобы при щелчке не разблокировался. Это кнопка, которую я нажимаю.
google.maps.event.addDomListener(controlUI, 'click', function() {
drawingManager.setDrawingMode(google.maps.drawing.OverlayType.POLYGON);
});
Но когда я нажимаю на другую пользовательскую кнопку, она по-прежнему активна на предыдущей кнопке.
google.maps.event.addDomListener(controlUI, 'click', function() {
map.setOptions({draggable: true});
});
Я хочу, чтобы, когда кто-то щелкает, чтобы сделать многоугольник, и после того, как он нажмет на dragable, что кнопка многоугольник является unclicked и функция сбрасывается, как таким образом, что оно unclicked и когда пользователь нажимает кнопку снова функция снова активируется.
Я надеюсь, что я объяснил это, чтобы вы поняли мою проблему.
Обновленная информация (потому что не делает второй вопрос) .
Я не могу найти настройки управления событиями redo
и undo
на картах Google.
Элементы управления, которые должны быть установлены здесь.
google.maps.event.addDomListener(controlUI, 'click', function() {
//something like CTRL + z (on windows) redo or undo of the user steps (while drawing a polygon)
});
Вы хотите выйти из режима рисования, когда вы нажмете на вторую кнопку? Если это так, вам нужно использовать 'drawingManager.setDrawingMode (null);' во втором обработчике событий. –
Да! Я добавил это к одному из моих обработчиков, и он отлично работает! Но как использовать его для одной кнопки? Поэтому, когда вы нажимаете сначала, вы можете нарисовать многоугольник byut, когда вы снова нажмете тот же значок, вы получите 'drawingManager.setDrawingMode (null);'? \ –
Когда вы настраиваете обработчик событий, сохраните дескриптор. И когда активировано, удалите его. Что-то вроде этого: 'var handle = google.maps.event.addDomListener (controlUI, 'click', function() { google.maps.event.removeListener (handle); drawingManager.setDrawingMode (google.maps.drawing.OverlayType .POLYGON); google.maps.event.addDomListener (controUI, 'click', function() { map.setOptions ({draggable: true}); }); }); 'Поэтому вы немедленно меняете его на что-то другое. –