Когда запускается событие remove_at в Google Maps API v3? - PullRequest
3 голосов
/ 27 ноября 2011

Я работаю над картой Google API v3 и хочу добавить функцию редактирования полилинии.Что касается документации Google.Когда полилиния находится в режиме редактирования, происходит 3 события.

  1. insert_at
  2. set_at
  3. remove_at

Я знаю, когда запускаются первые два события, и могу получить отредактированные координаты какЧто ж.Я также хочу удалить узел, но не уверен, как он работает?Может кто-нибудь сказать мне, когда будет запущено событие "remove_at"?

Ответы [ 2 ]

2 голосов
/ 12 марта 2013

'remove_at' будет запущено, когда вы отмените редактирование существующего наложения, в результате которого будут удалены контрольные точки.

Я создал скрипку, чтобы продемонстрировать это.

С скрипки:

var myLatlng = new google.maps.LatLng(60.629765, 6.424094);
var myOptions = {
    zoom: 14,
    center: myLatlng,
    mapTypeId: google.maps.MapTypeId.ROADMAP
}

var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);

var drawMan = new google.maps.drawing.DrawingManager({
    map: map,
    drawingControl: false,
    polygonOptions: {
        editable: true,
        draggable: true
    }
});

drawMan.setDrawingMode(google.maps.drawing.OverlayType.POLYGON);

google.maps.event.addListener(drawMan, 'overlaycomplete', function (event) {
    // When draw mode is set to null you can edit the polygon you just drawed
    drawMan.setDrawingMode(null);

    google.maps.event.addListener(event.overlay.getPath(), 'remove_at', function () {
        alert('remove_at triggered');
    });
});
2 голосов
/ 28 ноября 2011

Согласно документации эти события относятся к классу google.maps.MVCArray. Там же можно найти описание события remove_at:

Это событие вызывается при вызове removeAt (). Событие проходит индекс, который был передан removeAt () и элемент, который был удален из массива.

Но я не уверен, что вы можете использовать эти события для обработки изменений при редактировании полилинии. Это очень интересно, пожалуйста, дайте нам знать, если это работает и как!

...