Запросить дополнительную информацию о: Когда запускается событие remove_at в Google Maps API v3? - PullRequest
0 голосов
/ 16 декабря 2011

Похоже, что существует обходное решение исходного вопроса, который был задан здесь в stackoverflow:

Когда инициируется событие remove_at в API Карт Google v3?

Было бы очень признательно, если бы я мог увидеть код или пример кода того, как "назначить слушателя" щелчка правой кнопкой мыши "на все узлы в ломаной линии и удалить узел при запуске этого события щелчка правой кнопкой мыши."

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

спасибо, rtp01

1 Ответ

0 голосов
/ 16 декабря 2011

Я не знаю, можно ли назначить события узлу полилинии, но вы можете добавить объект-маркер в том же месте узла и назначить ему событие.

Я изменил Googlepolyline-complex.html пример для удаления и добавления узлов.

В этом примере Google добавляет маркеры на карту, когда пользователь щелкает левой кнопкой мыши на карте, а затем соединяет маркеры с полилинией.Я добавил слушателя, щелкающего правой кнопкой мыши на маркер, который удаляет узел из ломаной линии.

Вот код: (Вот пример скрипта , чтобы увидеть полный код работающего)*

//after the marker is created in the addLatLng function
google.maps.event.addListener(marker, 'rightclick', removeLatLng);

...

//function to remove node.
function removeLatLng(event) {
    //remove the marker from the map
    this.setMap(null);
    //get the polyline array
    var path = poly.getPath();
    //iterate over the array and remove the point that matches the marker coords.
    path.forEach(function(element, idx) {
        if (event.latLng == element) {
            path.removeAt(idx);
        }
    });
}

Хитрость в том, что вам нужен индекс массива для узла, который вы хотите удалить.Без маркера событие правого клика может не вернуть точные координаты узла и затруднить поиск индекса.

Если вам не нравится рисунок маркера для использования в качестве узла, вы можете настроить свойство значка с помощью пользовательского файла * .png для представления узла.

...